我正在尝试运行一个ec/mobat/MOBAT.jar依赖于一些罐子的罐子ec/mobat/lib/.它适用于我:
ec/mobat/$ java -jar MOBAT.jar
Run Code Online (Sandbox Code Playgroud)
但是我希望能够从另一个目录运行jar
ec/$ java -jar mobat/MOBAT.jar
Run Code Online (Sandbox Code Playgroud)
但我得到一个例外
java.lang.NoClassDefFoundError: ibis/io/Serializable
...
Run Code Online (Sandbox Code Playgroud)
我试图在类路径中传递所需的jar
ec/$ CLASSPATH=... java -jar mobat/MOBAT.jar
ec/$ java -jar -cp ... mobat/MOBAT.jar
Run Code Online (Sandbox Code Playgroud)
但我得到完全相同的例外.任何修复?
更新:MANIFEST.INF包含以下内容:
Manifest-Version: 1.0
Ant-Version: Apache Ant 1.7.0
Created-By: Selmar Kagiso Smit
Main-Class: mobat.Launcher
Implementation-Version: 1.3.4
Run Code Online (Sandbox Code Playgroud) 首先,我正在运行Ubuntu 9.10
我编辑了/ etc/environment文件,如下所示:
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"
JAVA_HOME="/usr/lib/jvm/java-6-sun-1.6.0.20"
CLASSPATH="/home/travis/freetts/lib/freetts.jar:/home/travis/freetts/lib/jsapi.jar:."
Run Code Online (Sandbox Code Playgroud)
然后我运行"source/etc/environment"以确保包含更改.然后我尝试使用以下方法编译我的简单测试程序:
javac Test.java
它会抛出一些错误,但是当我像这样编译时:
javac -cp /home/travis/freetts/lib/freetts.jar:/home/travis/freetts/lib/jsapi.jar:.Test.java
它工作得很好,这让我相信,由于某种原因,javac没有看到CLASSPATH环境变量?我可以在终端中回应它和所有内容:
echo $ CLASSPATH给了我放入的内容.
任何有关这方面的帮助将不胜感激.
我正在努力使我的Java应用程序易于部署到其他计算机,我正在写一个蚂蚁脚本来做到这一点,这很好.
我在加载jar中清单文件中指定的类路径中列出的资源时遇到问题.
文件夹结构如下所示:
/MyProgram.jar
/lib/<dependencies>
/config/configuration.xml
Run Code Online (Sandbox Code Playgroud)
我不能为我的生活使用ClassLoader访问configuration.xml文件.它与所有依赖项一起在清单文件的Class-Path条目中明确列出.
我尝试了以下的许多变种:
this.xml = Thread.currentThread().getContextClassLoader()
.getResourceAsStream(xmlName);
this.xml = this.getClass().getResourceAsStream(xmlName);
Run Code Online (Sandbox Code Playgroud)
使用xmlName作为以下所有值的字符串:
"config/configuration.xml"
"configuration.xml"
"config.configuration.xml"
Run Code Online (Sandbox Code Playgroud)
与此相关,我在config目录中也有一个log4j.properties文件.我如何让log4j拿起它?其他引用说它只需要在类路径中,它也在jar的manifest文件中明确命名.有人能指出我正确的方向吗?
更新:
以下是Class-Path中的实际条目:
Class-Path: <snip dependencies> config/configuration.xml config/log4j.properties
Run Code Online (Sandbox Code Playgroud) 我需要读取CLASSPATH当前Web应用程序的条目.在CLASSPATH我与此同名的许多文件.我想检查它们在classpath中出现的位置.例如:path:\file.txt;path2:\file.txt....
谢谢您的帮助.
亲切的问候塞巴斯蒂安
在文档中没有提到这一点,但是在没有它的情况下调用它时会得到一个ClassNotFoundException :.
全线:
java -classpath .:soy-20100708.jar HelloWorld
Run Code Online (Sandbox Code Playgroud)
这也有效......
java -classpath :soy-20100708.jar HelloWorld
Run Code Online (Sandbox Code Playgroud) 我的代码失败了ClassNotFoundException.
我可以看到包含该类的jar文件肯定在命令提示符执行的类路径中.
有没有办法从JVM转储类路径上的类列表?(理想情况下是一些Java代码).
(我不想在目录中看到类,我想查看加载到JVM中的列表).
我正在尝试在Eclipse中设置我的第一个scala lift项目,它是Not Simple(TM).
我所做的是通过以下方式通过Maven建立项目
mvn archetype:generate -U \
-DarchetypeGroupId=net.liftweb \
-DarchetypeArtifactId=lift-archetype-basic_2.9.1 \
-DarchetypeVersion=2.4-SNAPSHOT \
-DarchetypeRepository=http://scala-tools.org/repo-releases \
-DgroupId=demo.helloworld -DartifactId=helloworld -Dversion=1.0-SNAPSHOT
Run Code Online (Sandbox Code Playgroud)
然后我用这个创建了一个eclipse项目mvn eclipse:eclipse(因为找出所有的依赖关系,并将它们全部添加到构建路径中)
然后,该项目与已安装的Scala版本冲突.所以我从buildpath中删除了对scalalang的三个现有引用,并将我自己的scala添加到buildpath中.我正在使用scala 2.9.0.
现在可以构建项目,但是当我尝试运行RunWebApp时,会抛出异常:
Exception in thread "main" java.lang.NoClassDefFoundError: RunWebApp
Caused by: java.lang.ClassNotFoundException: RunWebApp
at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
Could not find the main class: RunWebApp. Program will exit.
Run Code Online (Sandbox Code Playgroud)
我知道Eclipse Scala IDE中Scala-Lift项目的答案错误,建议在http://groups.google.com/group/scala-ide-user上提问, 但我希望有人可以指点我以某种方式回答有同样问题的其他人也可能找到答案
所以我今天在.classpath文件(eclipse文件)中看到了这一行
<classpathentry kind="src" path="src/main/java" including="**/*.java"/>
我知道*.java任何java文件,但它**/之前做了什么?是否包含每个子文件夹src/main/java?
我有一个Android项目,其Android应用程序依赖于纯Java库(而Java库使用其他一些编译的jar库).
我添加了依赖项,我可以构建项目,但在运行时我有一个ClassNotFoundException错误.
我不得不在CLASSPATH环境变量中添加jar的路径.
有没有办法只在本地为项目设置类路径,就像使用命令行选项一样
java –classpath <path to the jars>
Run Code Online (Sandbox Code Playgroud)
在Android工作室运行/调试配置?
我最近搬到Eclipse Mars并安装了JDK 8u51.我在我的Eclipse中使用了JBoss Tools插件,并有几个Ant文件来构建我的项目.
但是,当我在Ant视图中双击构建文件时,我的项目将不会构建.相反,我收到此错误消息:
The archive: C:/Program%20Files%20(x86)/Eclipse%20Mars/plugins/org.eclipse.swt.win32.win32.x86_64_3.104.0.v20150528-0211.jar which is referenced by the classpath, does not exist.
Run Code Online (Sandbox Code Playgroud)
我检查了文件系统,JAR实际上就在那里.我有什么想法可以解决这个问题?也许它是%20路径名中的spaces()?
不幸的是,我不知道这种依赖来自哪里.在" 外部工具配置"中,它位于" 其他任务和支持"下,但我无法在其中编辑条目.我也找不到任何其他可以配置此引用的对话框.