我嘗試添加jnativehook到我的項目,但是當我從控制檯啓動jar文件,它說:的Java找不到主類當我運行jar文件
Error: Could not find or load main class com.company.Main
我在IntelliJ IDEA的工作,簡單地創建新的控制檯應用程序並將jar添加到依賴項。我試圖構建helloworld並從控制檯運行它,它的工作原理非常完美,但是當我將程序更改爲使用jnativehook時,java開始給我一個錯誤。順便說一下,程序在IntelliJ IDEA控制檯中完美運行,運行並一切正常。
我開始罐子用這個命令:
java -jar consolerunner.jar
我的.classpath看起來不錯,反正,那就是:
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
<classpathentry kind="src" path="src"/>
<classpathentry exported="true" kind="var" path="USER_HOME/Desktop/jnativehook-2.0.3.jar"/>
<classpathentry kind="output" path="out/production/ConsoleRunner"/>
</classpath>
爲主,而只有一個類的項目(大多數情況下,它是鍵盤記錄的例子): package com.company;
import org.jnativehook.GlobalScreen;
import org.jnativehook.NativeHookException;
import org.jnativehook.keyboard.NativeKeyEvent;
import org.jnativehook.keyboard.NativeKeyListener;
import java.util.logging.Level;
import java.util.logging.Logger;
public class Main implements NativeKeyListener {
public void nativeKeyPressed(NativeKeyEvent e) {
System.out.println("Key Pressed: " + NativeKeyEvent.getKeyText(e.getKeyCode()));
if (e.getKeyCode() == NativeKeyEvent.VC_ESCAPE) {
try {
GlobalScreen.unregisterNativeHook();
} catch (NativeHookException e1) {
e1.printStackTrace();
}
}
}
public void nativeKeyReleased(NativeKeyEvent e) {
System.out.println("Key Released: " + NativeKeyEvent.getKeyText(e.getKeyCode()));
}
public void nativeKeyTyped(NativeKeyEvent e) {
System.out.println("Key Typed: " + e.getKeyText(e.getKeyCode()));
}
public static void main(String[] args) {
try {
GlobalScreen.registerNativeHook();
}
catch (NativeHookException ex) {
System.err.println("There was a problem registering the native hook.");
System.err.println(ex.getMessage());
System.exit(1);
}
GlobalScreen.addNativeKeyListener(new com.company.Main());
Logger logger = Logger.getLogger(GlobalScreen.class.getPackage().getName());
logger.setLevel(Level.OFF);
}
}
我該如何構建jar(或者也許我jast錯誤啓動它)在控制檯中工作?
我試着在蟻中構建它,沒有任何進展。 也許,我錯誤的導入jnahook jar,但是在這一點上我太迷了,我真的不知道該怎麼做。 我讀了很多stackoverflow的問題,找不到任何相似或有幫助的東西。
UPD: 這裏是我的清單:
Manifest-Version: 1.0
Main-Class: com.company.Main
我知道,什麼樣的IntelliJ忽視的.classpath,但它可以使用的.classpath,如果在項目設置中設置它。 而且,是的,我建立了jar,但它不起作用。
一個的.classpath是什麼,Eclipse使用,IDEA忽略該文件 –