我在使用ant构建此应用程序时遇到问题。
这就是我的目录结构。我的所有文件和aspectjjar文件。
目录结构
AspectProject/
├── AddCheatKey.aj
├── AddSound.aj
├── AddStrategy.aj
├── bin
│ └── aspectjrt-1.8.9.jar
├── build.xml
├── RandomStrategy.java
├── SmartStrategy.java
├── sounds
│ ├── cheering.wav
│ ├── cheer.ogg
│ ├── chip1.wav
│ ├── chip2.wav
│ └── wood_chip.wav
└── Strategy.java
当我使用命令:ant或ant-f build.xml时,它会给我一个错误。表示aspectjjar文件不存在。即使它在目录树中!
生成错误
BUILD FAILED
/home/user/Desktop/AspectJ-ConnectFour/build.xml:10: **The archive aspectjrt-1.8.9.jar doesn't exist**
10号线
<?xml version="1.0" encoding="UTF-8"?>
<project name="c4" basedir="." default="jar">
<property name="ajrt.dir" value=""/>
<property name="ajrt.jar" value="aspectjrt-1.8.9.jar" />
<property name="class.dir" value="bin"/>
<property name="jar.file" value="${ant.project.name}.jar"/>
<property name="main-class" value="c4.base.C4Dialog"/>
<target name="jar">
<jar destfile="${jar.file}" basedir="${class.dir}"> <!-- LINE 10 -->
<zipfileset src="${ajrt.dir}/${ajrt.jar}" excludes="META-INF/*"/>
<manifest>
<attribute name="Main-Class" value="${main-class}"/>
</manifest>
</jar>
</target>
</project>
在目录树中,显示aspectjrt-1.8.9.jar
位于bin
文件夹中,但在代码中指向${ajrt.dir}/${ajrt.jar}
,它将解析为aspectjrt-1.8.9.jar
。
只需将您的代码更改为以下内容:
<zipfileset src="${class.dir}/${ajrt.jar}" excludes="META-INF/*"/>