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

蚂蚁到Gradle,javaCompile任务的问题

倪灿
2023-03-14

我有以下蚂蚁任务:

<javac 
  srcdir="${mypackage.code.src.java}"
    source="1.8"
  target="1.8" 
  destdir="${mypackage.build.output.}"     
  deprecation="on" 
  debug="true" 
  >

  <classpath path="${jboss.common.lib.}/hibernate-annotations-3.5.0-Final.jar" />
  <classpath path="${jboss.common.lib.}/jboss-ejb3-common.jar" />
  <classpath path="${jboss.common.lib.}/scheduler-plugin.jar" />
  <classpath path="${jboss.common.lib.}/servlet-api.jar" />

  <classpath>
    <path>
      <fileset dir="${myotherpackage.lib.thirdparty.}">
        <include name="jboss-5.1.0.GA/ejb3-persistence.jar" />
        <include name="jboss-5.1.0.GA/hibernate-core-4.2.1.final.jar"/>
        <include name="jboss-5.1.0.GA/jboss-javaee.jar" />   
        <include name="jboss-5.1.0.GA/jboss-j2se.jar"/>
        <include name="jboss-5.1.0.GA/jsp-api.jar"/>
      </fileset>
      <fileset dir="${jboss.server.myotherpackage.lib.}">
        <include name="**/*.jar"/>
      </fileset>
      <fileset dir="${jboss.server.myotherpackageear.}" >
        <include name="**/*.jar"/>
      </fileset>
      <fileset dir="${mypackage.code.src.www}/WEB-INF/lib" >
        <include name="**/*.*" />
        </fileset>
    </path>
  </classpath>
</javac>

我正在尝试将其转换为渐变,到目前为止,我有以下任务:

task doCompile(type: JavaCompile) {
    classpath = sourceSets.mySourceSet.output
    sourceCompatibility = '1.8'
    targetCompatibility = '1.8'
    destinationDir = file("$mypackage_build_output")
    source = file("$mypackage_code_src_java")
}

另外,我的sourceset定义如下:

sourceSets {
    jt3SourceSet {
        java {
            compileClasspath += files("${jboss_common_lib}/hibernate-annotations-3.5.0-Final.jar")
            compileClasspath += files("${jboss_common_lib}/jboss-ejb3-common.jar")
            compileClasspath += files("${jboss_common_lib}/scheduler-plugin.jar")
            compileClasspath += files("${jboss_common_lib}/servlet-api.jar")
            compileClasspath += files("${myotherpackage_lib_thirdparty}/jboss-5.1.0.GA/hibernate-core-4.2.1.final.jar")
            compileClasspath += files("${myotherpackage_lib_thirdparty}/jboss-5.1.0.GA/ejb3-persistence.jar")
            compileClasspath += files("${myotherpackage_lib_thirdparty}/jboss-5.1.0.GA/jboss-javaee.jar")
            compileClasspath += files("${myotherpackage_lib_thirdparty}/jboss-5.1.0.GA/jboss-j2se.jar")
            compileClasspath += files("${myotherpackage_lib_thirdparty}/jboss-5.1.0.GA/jsp-api.jar")
            compileClasspath += fileTree(dir: "${jboss_common_lib}", include: ['*.jar'])
            compileClasspath += fileTree(dir: "${jboss_server_mypackage2ear}", include: ['*.jar'])
            compileClasspath += fileTree(dir: "${mypackage_code_src_www}/WEB-INF/lib", include: ['*.*'])
        }
    }
}

在ant编译中,它工作得很好,但在gradle上,它无法识别源集中声明的任何依赖项。还尝试在我的dependencies{}标记上添加依赖项,但仍然不起作用。到处找都找不到解决方案

提前感谢!

共有1个答案

轩辕实
2023-03-14

我最终做到了:

task doCompile(type: JavaCompile) {
    classpath = sources //a file collection specifying a list of sources
    sourceCompatibility = '1.8'
    targetCompatibility = '1.8'
    destinationDir = file("$mypackage_build_output")
    source = file("$mypackage_code_src_java")
}

还删除了源集,不再需要它了。你可以用java插件来完成这一点,但我需要做的不仅仅是编译,所以坚持使用javacompile任务。

 类似资料:
  • 我想使用Hibernate和Gradle从现有数据库生成POJO。Gradle可以轻松调用Ant任务,Hibernate为逆向工程数据库提供了Ant任务。 我在网上找到了这个旧的Gradle任务定义,并将其修改为最新版本的Gradle,但它不起作用: 我得到了一个错误: 我如何修改它以从数据库生成模式文件?(我知道这还不会生成POJO,但这是第一步!) 我的依赖项看起来像:

  • 环境: IntelliJ IDEA 2016.3.1构建#IU-163.9166.29,构建于2016年12月9日JRE:1.8.0_112-release-408-b2 x86_64 JVM:OpenJDK 64位服务器虚拟机JetBrains s.r.o Mac OS 10.12.2 我在IntelliJ中安装了Ant支持插件,正在执行一个构建。xml脚本(请参见下面的build.xml内容)

  • 问题内容: 在定义顺序构建步骤时,我使用元素的属性。我最近看到了一个ant文件,其中的构建顺序是由目标内部的元素定义的。为了显示 : 与 两种方法之间是否有真正的区别?是其中之一更可取吗? 问题答案: 与这两种方法的主要区别在于目标是 始终 执行,而在目标只有在包含目标是执行。 一个澄清的例子: 在这里,将始终执行,而只有在定义时才会执行。 在此,仅当is即定义时才执行。

  • 我有一个xml脚本,可以用这个结构构建一个项目。 src src文件和包子目录 建造。xml 在构建了src文件夹之后,在rsrc中创建了一个构建和lib文件夹 src src文件和包子目录 建造 完成所有工作后,build文件夹中会充满。类文件,在其包子目录中。在lib文件夹中保存分发版。罐子有它的位置。现在针对我的问题,我写了一个名为“clean”的目标: 它应该删除构建文件夹、其子文件夹和内

  • 问题内容: 我试图在Eclipse中使用Ant构建项目。我右键单击build.xml>运行方式> Ant Build。但是,我收到以下错误: 还有一个警告: 正如我在其他文章中所读到的那样,这可能是由于ant版本太旧或未正确设置环境变量所致,这里是所有信息: 编辑:这是整个build.xml,第26行是javac标记: 问题答案: 与您的Eclipse版本捆绑在一起的Ant版本与Java 1.8不

  • 当我在命令行中输入Ant时。。我犯了以下错误。。 找不到工具。罐子应该可以在C:\Program Files\Java\jre6\lib\tools中找到。jarbuildfile:build。xml不存在!构建失败