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