Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/369.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从Maven Ant任务迁移到Maven工件解析器Ant任务_Java_Ant_Maven 3_Maven Ant Tasks - Fatal编程技术网

Java 从Maven Ant任务迁移到Maven工件解析器Ant任务

Java 从Maven Ant任务迁移到Maven工件解析器Ant任务,java,ant,maven-3,maven-ant-tasks,Java,Ant,Maven 3,Maven Ant Tasks,上周,我们的项目停止了工作,因为maven ant任务似乎正在使用http而不是https调用maven central,现在它被强制执行,因此它返回501 我们看到Apache发布了一个新的库,所以我们正在尝试迁移 这是我们的旧文件,用于调用内部jaxb库来生成java类。依赖关系是domejaxb,我们使用maven-ant任务解决它 <project name="Main" basedir="../../" xmlns:artifact="antlib:org.apache.mave

上周,我们的项目停止了工作,因为maven ant任务似乎正在使用
http
而不是
https
调用maven central,现在它被强制执行,因此它返回
501

我们看到Apache发布了一个新的库,所以我们正在尝试迁移

这是我们的旧文件,用于调用内部jaxb库来生成java类。依赖关系是
domejaxb
,我们使用
maven-ant任务解决它

<project name="Main" basedir="../../" xmlns:artifact="antlib:org.apache.maven.artifact.ant">

   <!-- ==================== Execution Classpath =========================== -->
   <artifact:dependencies filesetId="dependency.fileset" useScope="runtime">
      <dependency groupId="com.dome" artifactId="dome-jaxb" version="LATEST"/>
   </artifact:dependencies>

   <path id="Execute.classpath">
      <fileset refid="dependency.fileset"/>
      <pathelement path="target/classes"/>
   </path>

   <!-- ==================== Type Target ===================================== -->
   <target name="Types" description="Generate type">
      <java classname="dome.util.xml.converter.GenerateClassFromXMLConfig" fork="yes">
         <sysproperty key="file.encoding" value="UTF-8"/>
         <arg value="${basedir}"/>
         <arg value="${xmlConfig}"/>
         <arg value="${moduleId}"/>
         <classpath refid="Execute.classpath"/>
      </java>
   </target>
</project>
这似乎可行,但它似乎没有使用我的
设置.xml
,它位于
~/.m2/
(默认位置,读取文档时应该使用),因为我们有一个带有本地库的nexus存储库,但它似乎只检查maven中央存储库,因为错误是:

在central中找不到工件com.dome:dome:jar:4.23.0(https://repo1.maven.org/maven2/)

我在文档中看到,您可以手动设置
settings.xml
位置,但没有示例或指示将该配置放置在何处,因此我无法让它工作


如果有人有任何想法/建议,我们将不胜感激。

我也观察到了同样的情况,我认为这是maven resolver org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts()中的一个错误。
。只要我需要解决的每个工件都有一个maven-metadata.xml,我就能够避免这个问题。因此,我的解决办法是:

  • 将部署存储库复制到
    ~/.m2/repository
    以设置基线

  • 对于任何本地安装,请使用
    mvn-DupdateReleaseInfo=true

  • 在运行Ant之前,使用
    mvn依赖项:脱机
    mvn依赖项:get-Dartifact=…
    来解析任何其他依赖项


  • 你很可能会受到影响。我还没有看过,但很乐意接受修补程序。

    似乎手动定义存储库是可行的,但是如果在my settings.xml中定义了存储库,那么是否不需要这样做呢?在Maven Artifact Resolver Ant任务中,任务缺失。您在迁移的代码中做了什么来替换它?请向我们报告错误。是的,我相信这与Jira问题是一样的。我会看看我是否能找到更多的细节。我已经对Jira发表了评论并创建了。谢谢
    <project name="Main" basedir="../../" xmlns:resolver="antlib:org.apache.maven.resolver.ant">
    
       <!-- ==================== Execution Classpath =========================== -->
       <taskdef uri="antlib:org.apache.maven.resolver.ant" resource="org/apache/maven/resolver/ant/antlib.xml">
          <classpath>
             <fileset dir="target" includes="maven-resolver-ant-tasks-*uber.jar"/>
          </classpath>
       </taskdef>
    
       <path id="Execute.classpath">
          <pathelement path="target/classes"/>
       </path>
    
       <resolver:resolve>
          <dependencies>
             <dependency
                groupId="com.dome"
                artifactId="dome-jaxb"
                version="LATEST"
                scope="runtime"
             />
          </dependencies>      
          <path refid="Execute.classpath" classpath="runtime"/>
       </resolver:resolve>
    
       <!-- ==================== Type Target ===================================== -->
       <target name="Types" description="Generate type">
          <java classname="dome.util.xml.converter.GenerateClassFromXMLConfig" fork="yes">
             <sysproperty key="file.encoding" value="UTF-8"/>
             <arg value="${basedir}"/>
             <arg value="${xmlConfig}"/>
             <arg value="${moduleId}"/>
             <classpath refid="Execute.classpath"/>
          </java>
       </target>
    
    </project>