0
我使用Eclipse和Eclipse Maven Plugin(m2e)。Java程序在eclipse中執行,但不在終端中
我的java程序編譯並從eclipse界面正確運行,但我無法從終端編譯和運行它。
我的Eclipse環境:
我用兩個第三方的API,爲此,在Eclipse構建路徑,我添加
- 「/家/賽義德/工作區/ FirstMaven /目標/資源/保險絲 - JNA主/建造/類」 (如外部類文件夾)
- 「/home/syed/workspace/FirstMaven/target/resources/apache-jena-2.11.1/lib」 (如外部罐)
套餐:
package org.organization.upesh.FirstMaven;
我的項目路徑:
[email protected]:~/workspace/FirstMaven$
源代碼目錄路徑:
[email protected]:~/workspace/FirstMaven/src/main/java/org/organization/upesh/FirstMaven$
classes目錄:
[email protected]:~/workspace/FirstMaven/target/classes/org/organization/upesh/FirstMaven$
當我嘗試通過執行myProgram以下命令
[email protected]:~/workspace/FirstMaven/target/classes$ java org.organization.upesh.FirstMaven.myProgram
它給了我這些錯誤:
Exception in thread "main" java.lang.NoClassDefFoundError: net/fusejna/util/FuseFilesystemAdapterFull
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:482)
Caused by: java.lang.ClassNotFoundException: net.fusejna.util.FuseFilesystemAdapterFull
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
... 13 more
但不使用第三方API我的測試程序中通過正常運行:
[email protected]:~/workspace/FirstMaven/target/classes$ java org.organization.upesh.FirstMaven.test
我認爲myProgram沒有執行,因爲我使用了兩個API(class文件夾和jar文件夾)。
我已經加入的API來的/ etc /環境(如下所示)的類和JAR文件夾的路徑和休息我的電腦,但仍是同樣的錯誤
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/home/syed/workspace/FirstMaven/target/resources/apache-jena-2.11.1/lib:/home/syed/workspace/FirstMaven/target/resources/fuse-jna-master/build/classes"
請指導我如何運行我的程序正確
'賽@ ubuntu的:〜/工作區/ FirstMaven /目標/類$ java的org.organization
Aleternatively(和IMHO更好)運行Java當使用命令行開關
-classpath
(或其別名-cp
) .upesh。FirstMaven.SFS_360'給出了與我上面提到的問題相同的錯誤,並且包含路徑爲'syed @ ubuntu:〜/ workspace/FirstMaven/target/classes $ java -cp/home/syed/workspace/FirstMaven/target/resources/fuse-jna-master/build/classes org.organization.upesh.FirstMaven.SFS_360'然後給出新的錯誤 '錯誤:無法找到或加載主類org.organization.upesh.FirstMaven.SFS_360' –如果你的主類在jar中,那麼jar必須在類路徑中。如果它是一個不在jar中的類文件,那麼它必須位於與其包相對應的目錄中,並且該包的根目錄必須位於類路徑中。 – arcy