- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我第一次尝试使用 Ant 创建 JAR,但遇到了一些困难。这是我的项目目录结构:
MyProj/
src/
com.me.org
Fizz
Buzz
dist/
classes/
在我的 Ant 构建脚本中,我将所有源文件复制到 dist/classes/
中文件夹。然后我包括 dist/classes
作为我的 JAR 任务中的文件集,如下所示:
<jar destfile="dist/myProj.jar">
<manifest>
<attribute name="Sealed" value="true" />
</manifest>
<fileset dir="dist/classes"/>
</jar>
JAR 任务执行并生成 JAR。但是,当我将该 JAR 放在另一个项目 (Eclipse) 的构建路径上并尝试使用 Fizz
时,或Buzz
在另一个项目中,Eclipse 将它们导入为:
import classes.com.me.org.Fizz;
等等。这是因为 Eclipse 必须认为我的 classes/
目录是一个包!
我假设我可以在 list 中做一些事情来说“嘿!根包是 classes/com/
,而不是 classes/
!”,这样它们将被导入为:
import com.me.org.Fizz;
我阅读了 Ant <manifest>
任务,但找不到我要找的东西。有人知道我可以在这里做什么吗?
而且,如果您好奇为什么我想将它们打包在 classes/
下目录,那么我会说它是因为我喜欢在包含整个类路径的 JAR 中拥有一个目录的想法。而且,特别是如果存在非 Java 类路径资源(图像、脚本、文件等),您需要一个位置来将包根目录 ( com/
) 和这些其他资源放在同一父目录中。
本来,我打算将这个目录命名为 classpath/
,但后来我决定使用与 WAR 文件规范相同的约定,这需要有一个 classes/
WAR 内的目录。
这就是原因。 ;-) 提前致谢!
最佳答案
您是否尝试过将 Class-Path
属性添加到 list 中?我认为添加以下内容会起作用:
Class-Path : classes/
如果这不起作用,那么您可能必须在根级别打包一个包含类的 jar,然后将其添加到 myProj.jar 中。因此,您首先要创建一个仅包含您的类 myClasses.jar 的 jar,然后将该 jar 打包到 myProj.jar 中。 list 将包含:
Class-Path : classes/myClasses.jar
你的 jar 看起来像这样:
myProj.jar
- META-INF/MANIFEST.MF
- classes/myClasses.jar
我从来没有真正尝试过这个,如果它没有按预期工作,我很抱歉。 Here is有关 Class-Path 属性的更多信息。
关于java - 无法使用 Ant 获得按照我想要的方式构造的 jar 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9741413/
使用登录后,我想吐出用户名。 但是,当我尝试单击登录按钮时, 它给了我力量。 我看着logcat,但是什么也没显示。 这种编码是在说。 它将根据我在登录屏幕中输入的名称来烘烤用户名。 不会有任何密码。
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎是题外话,因为它缺乏足够的信息来诊断问题。 更详细地描述您的问题或include a min
我是一名优秀的程序员,十分优秀!