使用Ant编译Java-发生keep getting错误JNI错误
我正在努力提高我的编码/开发技能,我对使用Ant还不熟悉。我的目标是能够从命令行编译比“Hello World”更复杂的程序。我试图编译和运行的程序使用API中存储的库,我想我已经在build.xml文件中包含了正确的路径,代码将编译和jar(当我使用ant compile和ant jar命令时),但是当我运行它时,我会得到一个运行时错误 这是我的Ant构建文件:使用Ant编译Java-发生keep getting错误JNI错误,java,eclipse,ant,Java,Eclipse,Ant,我正在努力提高我的编码/开发技能,我对使用Ant还不熟悉。我的目标是能够从命令行编译比“Hello World”更复杂的程序。我试图编译和运行的程序使用API中存储的库,我想我已经在build.xml文件中包含了正确的路径,代码将编译和jar(当我使用ant compile和ant jar命令时),但是当我运行它时,我会得到一个运行时错误 这是我的Ant构建文件: <project name="Main" basedir="." default="main"> <propert
<project name="Main" basedir="." default="main">
<property name="src.dir" value="src"/>
<property name="build.dir" value="build"/>
<property name="classes.dir" value="${build.dir}/classes"/>
<property name="jar.dir" value="lib"/>
<property name="main-class" value="myProject.Main"/>
<target name="clean">
<delete dir="${classes.dir}"/>
</target>
<target name="compile" depends="clean">
<mkdir dir="${classes.dir}"/>
<javac srcdir="${src.dir}" destdir="${classes.dir}" includeantruntime="false">
<classpath>
<path location="${jar.dir}/dropbox-core-sdk-1.7.7.jar"/>
<path location="${jar.dir}/jackson-core-2.2.4.jar"/>
</classpath>
</javac>
</target>
<target name="jar" depends="compile">
<mkdir dir="${jar.dir}"/>
<jar destfile="${jar.dir}/${ant.project.name}.jar" basedir="${classes.dir}">
<manifest>
<attribute name="Main-Class" value="${main-class}"/>
</manifest>
</jar>
</target>
<target name="run" depends="jar">
<java jar="${jar.dir}/${ant.project.name}.jar" fork="true"/>
</target>
<target name="clean-build" depends="clean,jar"/>
<target name="main" depends="clean,run"/>
我真的很感激任何帮助 编译时将类路径设置为
dropbox-core-sdk-1.7.7.jar
jar,但没有使用该类路径运行代码。您需要对java
任务执行相同的操作,否则JVM将找不到第三方类
<java jar="${jar.dir}/${ant.project.name}.jar" fork="true">
<classpath>
<path location="${jar.dir}/dropbox-core-sdk-1.7.7.jar"/>
<path location="${jar.dir}/jackson-core-2.2.4.jar"/>
</classpath>
</java>
我也有同样的错误。事实证明,Eclipse在用于Ant Home(外部Ant安装)的Eclipse设置中使用了符号链接 我通过将Eclipse的蚂蚁之家更改为一个确定的位置来解决这个问题
在Eclipse
窗口中
->首选项
然后Ant
->运行时
然后单击右侧的Ant Home…
按钮并选择正确的Ant安装目录。哈哈,我是个目光短浅的白痴。这正好解决了我的问题。实际上,我的问题是我把我的Ant主页指向了C:\ApacheTomcat,而不是C:\apache-Ant。谢谢!这让我发疯了!你救了我的一天(或者更确切地说:我的夜晚)!
<java jar="${jar.dir}/${ant.project.name}.jar" fork="true">
<classpath>
<path location="${jar.dir}/dropbox-core-sdk-1.7.7.jar"/>
<path location="${jar.dir}/jackson-core-2.2.4.jar"/>
</classpath>
</java>