标签: maven-ant-tasks

使用Ant任务更改maven属性

我在pom.xml中设置了maven属性.

<properties>
    <build.start.date>someValue</build.start.date>
</properties>
Run Code Online (Sandbox Code Playgroud)

现在我有一个ant任务执行以下操作:

<loadresource property="build.start">
    <url url="http://someUrl?xpath=/*/id/text()"/>
</loadresource>

<property name="build.start.date" value="${build.start}"/>

<echo>Printing Ant Value ${build.start} </echo>
<echo>Printing Maven Value ${build.start.date}</echo>
Run Code Online (Sandbox Code Playgroud)

这导致:

[echo] Printing Ant Value 2013-03-15_17-53-08
[echo] Printing Maven Value 2013-03-16
Run Code Online (Sandbox Code Playgroud)

但我希望两者都打印:

[echo] Printing Ant Value 2013-03-15_17-53-08
[echo] Printing Maven Value 2013-03-15_17-53-08


I tried <loadresource property="build.start.date">
and
I tried <loadresource property="${build.start.date}">
Run Code Online (Sandbox Code Playgroud)

那么问题是如何在ant任务中设置全局maven属性?

maven-2 maven-3 maven maven-ant-tasks

8
推荐指数
1
解决办法
4252
查看次数

artifact:install推送super-pom而不是我定义的POM

我在Ant文件中定义了一个POM,构建工作正常,从存储库中提取正确的工件,然而,工件:安装任务推送到'super-pom'而不是我指定的pom

我使用以下POM文件

<project name="my-proj" default="build" 
         xmlns:artifact="antlib:org.apache.maven.artifact.ant">

  <!-- Define the Maven tasks -->
  <path id="mvn.classpath" 
        path="${env.MAVEN_HOME}/lib/maven-ant-tasks-2.1.1.jar" />
  <typedef resource="org/apache/maven/artifact/ant/antlib.xml"
           uri="antlib:org.apache.maven.artifact.ant"
           classpathref="mvn.classpath" />


  <target name="set-deps">
    <artifact:pom id="jar.pom" packaging="jar"
                  groupId="com.me" artifactId="my-proj" 
                  version="1.0-SNAPSHOT">
      <dependency groupId="commons-logging" 
                  artifactId="commons-logging" 
                  version="1.1.1"/>
    </artifact:pom>

    <artifact:dependencies filesetId="project.jar.files" 
          pomRefId="jar.pom"/>
  </target>

  <target name="compile" depends="set-deps">
    <mkdir dir="${basedir}/output/casses"/>
    <javac srcdir="${basedir}/src" 
           destdir="${basedir}/output/classes" 
           classpathref="project.jar.files" />
  </target>

  <target name="build" depends="compile">
    <jar destfile="output/${project.name}.jar" 
         basedir="${basedir}/output/classes"/>
  </target>

  <target name="install" depends="build">
    <echo message="Installing JAR file - ${project.name}.jar"/>
    <echo message=" groupId - ${jar.pom.groupId}"/>
    <echo message="artifactId - ${jar.pom.artifactId}"/>
    <echo message=" version - ${jar.pom.version}"/>
    <artifact:install …
Run Code Online (Sandbox Code Playgroud)

maven-3 maven-ant-tasks

7
推荐指数
1
解决办法
2134
查看次数

如何部署使用maven-antrun-plugin创建的zip文件?

我正在使用maven-antrun-plugin与Ant做一堆工作,最终产生一个zip文件.我想将zip文件部署到我们的maven服务器(Artifactory).maven-antrun-part按预期工作并成功创建zip文件; 但部署失败,并显示以下错误消息:

org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:2.6:deploy (default-deploy) on project projectname: The packaging for this project did not assign a file to the build artifact

我的POM文件如下:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.company.division</groupId>
    <artifactId>projectname</artifactId>
    <version>1.0.0-SNAPSHOT</version>
    <packaging>pom</packaging>

    <parent>
        <groupId>com.company.product</groupId>
        <artifactId>parentproject</artifactId>
        <version>1.0.0</version>
    </parent>

    <distributionManagement>
        <snapshotRepository>
            <id>artifactory</id>
            <name>artifactory-snapshots</name>
            <url>http://localartifactoryserver/artifactory/libs-snapshot-local</url>
            <uniqueVersion>false</uniqueVersion>
        </snapshotRepository>
    </distributionManagement>

    <dependencies>
        <!-- Some dependencies... -->
    </dependencies>

    <build>
        <plugins>
            <!-- Compiler plugin -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>2.3.2</version>
                <configuration>
                    <source>1.6</source>
                    <target>1.6</target>
                    <encoding>UTF8</encoding>
                    <optimize>true</optimize>
                </configuration>
            </plugin>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-antrun-plugin</artifactId>
                <version>1.6</version>
                <executions>
                    <execution>
                        <id>compile</id> …
Run Code Online (Sandbox Code Playgroud)

ant maven maven-deploy-plugin maven-ant-tasks

7
推荐指数
1
解决办法
2万
查看次数

使用Maven ant任务将jar安装到本地存储库

在我的ant构建id结束时,它调用等效的命令行调用

mvn install:install-file -Dfile=my.jar -DgroupId=com.company.project -DartifactId=my_project -Dversion=1.0 -Dpackaging=jar -DgeneratePom=true
Run Code Online (Sandbox Code Playgroud)

这样它就会将新构建的jar添加到另一个项目依赖的maven资源库中.

我尝试使用maven-ant-task并将maven-ant-task jar添加到ant build项目中,并将以下代码添加到build.xml:

<target name ="minstall" depends="jar">
  <artifact:pom id="maven_install" file="maven_install.xml" />
  <artifact:install file="${out.dir}/my_project.jar">
      <pom refid="maven_install"/>
  </artifact:install> 
</target>
Run Code Online (Sandbox Code Playgroud)

但似乎缺少一些东西,因为它不适合我.首先,我在build.xml(ant构建文件)中得到错误

元素"artifact:pom"的前缀"artifact"未绑定.

我究竟做错了什么.我对蚂蚁比较陌生?

在一个问题上,相关POM文件的目的是什么?我通常不会在这个项目中有一个POM,因为它是一个蚂蚁构建

ant maven-2 jar maven maven-ant-tasks

6
推荐指数
1
解决办法
1万
查看次数

SQL Ant 任务:警告:不建议在没有服务器身份验证的情况下建立 SSL 连接

我正在ant taskMySQL-5.7 服务器上运行一些 SQL,但我不想使用 SSL。我目前正在使用mysql-connector-java-5.1.42.jar连接到 MySQL-5.7 ( v5.7.18-0ubuntu0.16.04.1)

我的 SQL 属性如下所示

<sql
    url="jdbc:mysql://mysql.box.lan:3306/mydb?autoReconnect=true&amp;useSSL=false&amp;verifyServerCertificate=false"
    userid="my-user"
    password="xxx"
    driver="com.mysql.jdbc.Driver"
    onerror="continue"
    showWarnings="false"
    delimiter=";"
    encoding="UTF-8">
Run Code Online (Sandbox Code Playgroud)

不幸的是,驱动程序似乎并不关心 和/或 的任何组合autoReconnectuseSSL如此verifyServerCertificate此处此处所述

确切的错误是

2017 年 6 月 22 日星期四 12:20:32 GMT 警告:不建议在没有服务器身份验证的情况下建立 SSL 连接。根据 MySQL 5.5.45+、5.6.26+ 和 5.7.6+ 的要求,如果未设置显式选项,则必须默认建立 SSL 连接。为了符合不使用 SSL 的现有应用程序,verifyServerCertificate 属性设置为“false”。您需要通过设置 useSSL=false 显式禁用 SSL,或者设置 useSSL=true 并提供用于服务器证书验证的信任库。

mysql maven-ant-tasks

5
推荐指数
1
解决办法
858
查看次数

从 Maven Ant Task 迁移到 Maven Artifact Resolver Ant Tasks

上周我们的项目停止工作,因为 maven-ant-task 似乎在调用 maven central withhttp而不是https现在它被强制执行,所以它返回一个501.

我们看到 Apache 发布了一个新的库Maven Artifact Resolver Ant Tasks,所以我们正在尝试迁移。

这是我们的旧文件,用来调用我们内部的jaxb库来生成java类。依赖是dome-jaxb,我们用maven-ant-tasks.

<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>
Run Code Online (Sandbox Code Playgroud)

我下载了项目,生成了uber jar(之后我发现你也可以在 …

java ant maven-3 maven-ant-tasks

5
推荐指数
1
解决办法
882
查看次数

使用 Maven ant Tasks 时避免下载 javadoc 和源代码

我正在使用 Maven Ant Tasks 支持进行开发。当要求存储库下载所需的库时,它还会下载每个库的 javadoc 和源代码。有没有办法只下载库 jars?

实际的 build.xml:

<artifact:dependencies settingsFile="${maven.settingsFile}" pomRefId="projectPom"
                       filesetId="dependency.fileset"
                       sourcesFilesetId="sources.dependency.fileset"
                       javadocFilesetId="javadoc.dependency.fileset"
                       versionsId="dependency.versions">
        <remoteRepository refid="remote.repository" />
</artifact:dependencies>
Run Code Online (Sandbox Code Playgroud)

ant maven-2 maven-ant-tasks

2
推荐指数
1
解决办法
5974
查看次数