gpt4 book ai didi

java - 使用ant命令行添加jar文件在java项目中添加类

转载 作者:行者123 更新时间:2023-12-01 11:30:19 24 4
gpt4 key购买 nike

我在网上搜索了几个小时,但找不到以下问题的答案...我有一个 android 项目,可以在 MacOSX 上使用“ant release”命令行运行正常(由于各种原因我无法使用 Eclipse 或 Android Studio 等)。我需要扩展一个包含在 jar 文件(称为 mididriver.jar)中的第三方类。我在主 java 源文件中添加了以下行:

导入mididriver.*;

我需要在我的 build.xml 文件中添加什么,以及我应该将 mididriver.jar 文件放在我的项目文件夹结构中的什么位置,这样它就不会出现“package mididriver does not exit”的错误?

非常感谢(提前)!

这是我的 build.xml 的内容,它在我添加新类之前起作用:

<project name="MyProject" default="debug">
<loadproperties srcFile="local.properties"/>
<loadproperties srcFile="project.properties"/>
<target name="clean" depends="android_rules.clean">
<delete dir="libs"/>
<delete dir="obj"/>
<exec executable="${ndk.dir}/ndk-build" dir="${basedir}" failonerror="true">
<arg value="clean"/>
</exec>
</target>
<target name="-pre-build">
<condition property="makefileConfig" value="Debug" else="Release">
<equals arg1="${ant.project.invoked-targets}" arg2="debug"/>
</condition>
<condition property="ndkDebugValue" value="NDK_DEBUG=1" else="NDK_DEBUG=0">
<equals arg1="${ant.project.invoked-targets}" arg2="debug"/>
</condition>
<condition property="app_abis" value="armeabi-v7a" else="armeabi-v7a">
<equals arg1="${ant.project.invoked-targets}" arg2="debug"/>
</condition>
<exec executable="${ndk.dir}/ndk-build" dir="${basedir}" failonerror="true">
<arg value="--jobs=2"/>
<arg value="CONFIG=${makefileConfig}"/>
<arg value="${ndkDebugValue}"/>
<arg value="APP_ABI=${app_abis}"/>
</exec>
<delete file="${out.final.file}"/>
<delete file="${out.packaged.file}"/>
</target>
<import file="${sdk.dir}/tools/ant/build.xml"/>
</project>

最佳答案

在项目中创建 lib 目录

my-project
src
target
lib

将jar放入lib目录。

修改javac任务以将lib目录添加到类路径中。

<path id="lib.dir">
<fileset dir="./lib">
<include name="**/*.jar"/>
</fileset>
</path>

<javac srcdir="src" destdir="target/classes" >
<classpath refid="lib.dir"/>
</javac>

我不知道哪个目标不适合您。是javac吗?或者ndk构建?我不知道如何为 ndk-build 指定类路径。必须有一些选项,例如 -classpath

关于java - 使用ant命令行添加jar文件在java项目中添加类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30452934/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com