首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Set ant bootclasspath: JDK 1.7有一个新的javac警告,用于设置不带bootclasspath的旧源代码

Set ant bootclasspath: JDK 1.7有一个新的javac警告,用于设置不带bootclasspath的旧源代码
EN

Stack Overflow用户
提问于 2011-09-01 01:03:47
回答 2查看 12.2K关注 0票数 13

如何将ant引导类路径与-source 1.5 -target 1.5结合使用?

这怎么可能不是到1.5JDK的硬编码路径呢?是否可以将环境变量设置为bootclasspath,类似于在ant中使用JAVA_HOME的方式?

理想情况下,我想做一些事情,比如设置环境变量或将参数传递给ant。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-09-09 06:20:28

下面的示例演示了如何从环境变量获取Java 5引导类的位置,然后使用它。

首先,设置环境变量--比如JAVA5_BOOTCLASSESproperty task允许您访问环境,然后javac taskbootclasspath参数将设置传递给编译器。

代码语言:javascript
复制
<property environment="env" />
<property name="java5.boot.classpath" value="${env.JAVA5_BOOTCLASSES}" />

<javac source="1.5" target="1.5"
       bootclasspath="${java5.boot.classpath}"
       ...
/>

请注意,如果没有设置环境变量,Ant将忽略它并在没有设置的情况下继续-因此编译器将回退到默认的引导类路径。

如果合适的话,另一种选择是使用,而不使用bootclasspath。就像这样

代码语言:javascript
复制
<javac srcdir= ... >
    <compilerarg arg="-Xlint:-options" />
</javac>

但这可能会使您暴露在一些细微的But中。

票数 17
EN

Stack Overflow用户

发布于 2013-05-09 14:33:56

值得注意的是,变量JAVA5_BOOTCLASSES应该包含所有需要的库,而不仅仅是rt.jar。在我的例子中,它也是jce.jar,所以在*nix环境中使用这个简单的代码片段来设置这个变量是很好的:

代码语言:javascript
复制
export JAVA5_BOOTCLASSES=""
for i in /usr/lib/jvm/java/jre/lib/*.jar; do 
    export JAVA5_BOOTCLASSES=$JAVA5_BOOTCLASSES:$i
done
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7260697

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档