当前位置: 首页 > 知识库问答 >
问题:

带有通配符的Ant-Pathelement只能在Javac分叉模式下工作

公羊向荣
2023-03-14

我在使用蚂蚁时遇到了以下问题。

我的ANT脚本片段:

<path id="id.compile.classpath">
  <pathelement location="src/compile_lib1/*" />
  <pathelement location="src/compile_lib2/*" />
</path>

<javac srcdir="${module.root}/${src.root}" destdir="${swap.target.classes}"
  nowarn="${javac.nowarn}" debug="${javac.debug}" fork="${javac.fork}"
  classpathref="id.compile.classpath" includeAntRuntime="${javac.includeAntRuntime}">
  <include name="**/*.java"/>
</javac>

当在javac任务中set fork="true"时,通配符路径元素工作正常,但是当forked设置为false时,ant似乎无法正确解释通配符。(编译失败,由于类路径错误)。

任何建议
谢谢。

共有1个答案

壤驷德寿
2023-03-14

不要使用通配符路径元素,而是使用文件集,让Ant为您展开通配符。

<path id="id.compile.classpath">
  <fileset dir="src/compile_lib1" includes="*.jar" />
  <fileset dir="src/compile_lib2" includes="*.jar" />
</path>
 类似资料:
  • 尽管类路径上有所需的JAR,但我的编译目标中的任务失败。有人能帮我弄清楚为什么会这样吗? 下面的错误是由。然而,commons-io-1.3.1。jar位于构建路径上(在中)。所以,奇怪的是构建失败了。 令人惊讶的是,Eclipse构建项目没有任何问题。我在项目构建路径上有相同的jars集。我也有相同的源目录被排除在编译之外。 试图在源代码文件夹上使用javac可执行文件,但不确定如何在源代码目录

  • 我有这个Spring配置和OAuth2: 现在我想将 Swagger 添加到我的项目中。我配置了一个 Swagger 控制器: 问题是我无法使“/swagger-ui.html”路径不触发Spring登录。我试过这个(请注意,我为Swagger html添加了蚂蚁垫子): …} 但它没有起作用。我需要如何配置HttpSecurity?

  • 考虑以下示例: 我知道下界通配符接受通配符中给定类的所有超类(这里是IOException)。 为什么在上述情况下编译器会显示编译错误?

  • 我有一个java项目的Apache ant构建文件,其中包含一个javac命令来编译我的源代码。这个项目有一些特殊的约束,它是由小的子项目组成的。这些子项目中的大多数具有以下文件夹结构: src和service都是源文件夹。A.java导入/service文件夹中的一些类,例如B.java。在eclipse中,一切正常,A.java导入B.java时没有任何错误或问题,所以我假设classpath

  • 问题内容: 在Go(语言)中注册处理程序时,是否可以在模式中指定通配符? 例如: 其中可以是任何有效的URL字符串。还是唯一的解决方案是从处理程序()函数内部匹配并找出其余部分? 问题答案: http.Handler和http.HandleFunc的模式不是正则表达式或glob。无法指定通配符。它们记录在这里。 也就是说,创建自己的可以使用正则表达式或所需的任何其他模式的处理程序并不难。这是一个使

  • 问题内容: 我正在尝试使用Log4j2的新RoutingAppender路由基于MDC(Log4j2中的ThreadContext)的不同日志。我想做的是以下几点: 如果MDC映射具有$ contextId->追加到$ contextId附加器(特定日志) 如果MDC没有$ contextId->追加到主附加程序(常规日志) 我想使用标记中的通配符模式来实现此目的,然后使用for contextI