我正在尝试构建一个可执行的jar程序,它取决于下载的外部jar.在我的项目中,我将它们包含在构建路径中,并且可以在eclipse中运行和调试.
当我尝试将它导出到jar时,我可以运行该程序,但是当我尝试按下包含来自外部jar的函数调用和类的按钮时,我无法运行.我编辑了环境变量(Windows XP)CLASSPATH以包含所有外部jar的路径,但它不起作用.
需要注意的一点是,我在导出可执行jar时遇到了编译警告,但它没有显示有关警告的任何描述.
有人会提供一个关于如何使用eclipse包含外部jar程序的详尽指南吗?
我有一个build.xml文件,工作正常.问题是生成的jar文件,我需要在没有'ant run'的情况下运行它
我该如何运行jar文件?跑着
java -jar Main.jar main.Main
Run Code Online (Sandbox Code Playgroud)
给我:
Exception in thread "main" java.lang.NoClassDefFoundError: org/neo4j/graphdb/GraphDatabaseService
Run Code Online (Sandbox Code Playgroud)
这就是我创建jar文件(build.xml)的方法:
<target name="jar" depends="compile">
<mkdir dir="${jar.dir}"/>
<jar destfile= "${jar.dir}/${ant.project.name}.jar" basedir="${build.dir}">
<manifest>
<attribute name="Main-Class" value="${main-class}"/>
</manifest>
</jar>
</target>
<target name="compile">
<mkdir dir="${build.dir}"/>
<mkdir dir="${build.dir}/${conf.dir}"/>
<javac srcdir="${src.dir}" destdir="${build.dir}" classpathref="classpath" includeantruntime="false"/>
<copy todir="${build.dir}/${conf.dir}">
<fileset dir="${conf.dir}"/>
</copy>
</target>
<target name="run" >
<java fork="true" classname="${main-class}">
<classpath>
<path refid="classpath"/>
<path location="${jar.dir}/${ant.project.name}.jar"/>
</classpath>
</java>
</target>
<path id="classpath">
<fileset dir="${lib.dir}" includes="**/*.jar"/>
</path>
Run Code Online (Sandbox Code Playgroud)
"ant run"任务可以正常使用这个jar.如何在没有蚂蚁的情况下运行这个项目