首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何使用maven编写xml文件?

如何使用maven编写xml文件?
EN

Stack Overflow用户
提问于 2016-08-19 05:39:57
回答 2查看 1.3K关注 0票数 2

在这种情况下,我必须在预定义的xml文件中写入项目依赖项之一的工件名称,该文件将与项目jar一起保存,并驻留在项目的资源文件夹中。例如predefind.xml -

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<project>
    <projectName>somename</projectName>
    <projectjar>
        <name>some.jar</name>
    </projectjar>
    <dependantJarsInfo>
        <folderName>dependant_jars</folderName>
        <dependantJars>
            <name>dependency.jar</name>
        </dependantJars>
    </dependantJarsInfo>    
</plugin> 

pom.xml

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<project>
    <groupId>com.mycom</groupId>
    <artifactId>someproject</artifactId>
    <packaging>jar</packaging>
    <version>5.8.0.0</version>

    <dependencies>

        <dependency>
            <groupId>com.mycom.</groupId>
            <artifactId>dependency</artifactId>
            <version>LATEST</version>
        </dependency>

    </dependencies>

</project>

我需要获得LATEST=1.2.0的全名,比如dependency 1.2.0,并在指定的标记处写入给定的predefined.xml文件。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
        <dependantJars>
            <name>dependency.jar</name>
        </dependantJars>

如果是的话,maven会这样做吗?如果没有,我应该采取什么替代办法来解决这一问题。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-08-28 21:10:26

伙计们,在对这个问题做了研究之后,我找到了解决办法。我使用两个maven插件来解决这个问题。

  1. maven-依赖-插件
  2. gmaven插件

这个插件的使用-

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 <plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.9</version>
<executions>
    <execution>
        <id>build-classpath</id>
        <phase>validate</phase>
        <goals>
            <goal>build-classpath</goal>
        </goals>
        <configuration>
        <outputFile>target/classPath.txt</outputFile>
            <includeArtifactIds>
                dependency
            </includeArtifactIds>
        </configuration>
    </execution>
</executions>
</plugin>   

<plugin>
    <groupId>org.codehaus.groovy.maven</groupId>
    <artifactId>gmaven-plugin</artifactId>
    <executions>
        <execution>
            <id>groovy-magic</id>
            <phase>prepare-package</phase>
            <goals>
                <goal>execute</goal>
            </goals>
            <configuration>

                <source>
                    def theInfoName = "target/classPath.txt";
                    File theInfoFile = new File(theInfoName)
                    def words
                    def key
                    def value
                    if (!theInfoFile.exists()) {
                    println "File does not exist"
                    } else {
                    theInfoFile.eachLine { line ->
                    if (line.trim().size() == 0) {
                    return null
                    } else {
                    words = line
                    File theInfoFileto = new File(words)
                    ant.replace(file: "target/classes/myPackagepath/predefind.xml", token: "dependency.jar", value: theInfoFileto.getName())
                    }
                    }
}                                
                </source>
            </configuration>
        </execution>
    </executions>
</plugin>

希望这能帮上忙。

票数 1
EN

Stack Overflow用户

发布于 2016-08-19 05:53:14

我认为你实际上对你的问题采取了错误的方法。您应该尝试使用Maven性质

示例

pom.xml中定义页面的名称:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<project>

  <properties>
    <package.name>dependency.jar</package.name>
  </properties>

</project>

然后,当您想用命令行更改包的名称时,可以使用:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
mvn -Dpackage.name=othername package ...

但是,如果不覆盖包的名称,仍然可以使用pom.xml中定义的默认值

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
mvn package ...

其他关于这个的问题:

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39040526

复制
相关文章
手工修复Azure DevOps无法连接到Azure的问题
今天我在为一个从TFVC迁移到Git的老项目重新配置发布到Azure App Service的CI/CD管线的时候,Azure DevOps竟然爆了。这是一个微软已知的bug,目前还未修复,我来带大家看看如何手工workaround这个问题。
Edi Wang
2019/07/09
1.5K0
手工修复Azure DevOps无法连接到Azure的问题
Azure DevOps+Docker+Asp.NET Core 实现CI/CD(三.实现CD持续部署管道)
本文主要是讲解如何使用Azure DevOps+Docker 来实现持续集成Asp.NET Core项目(当然 也可以是任意项目).
GuZhenYin
2020/08/11
5130
Azure DevOps+Docker+Asp.NET Core 实现CI/CD(三.实现CD持续部署管道)
容器和DevOps:基于容器的DevOps交付管道
DevOps 的出现是为了满足不断增长的市场和消费者对技术应用程序的需求。它旨在在不牺牲软件质量的情况下创建更快的开发环境。DevOps 还专注于在快速开发生命周期中提高软件的整体质量。它依赖于多种技术、平台和工具的组合来实现所有这些目标。
DevOps云学堂
2022/02/13
8230
容器和DevOps:基于容器的DevOps交付管道
使用 Docker、Kubernetes 和 Azure DevOps 实现 DevOps
这篇文章,我们将会介绍所有你想了解的 DevOps 知识,看完后你可以着手构建自己的 CI/CD 流水线。
LinuxSuRen
2020/05/26
1.2K0
Azure DevOps+Docker+Asp.NET Core 实现CI/CD(二.创建CI持续集成管道)
本文主要是讲解如何使用Azure DevOps+Docker 来实现持续集成Asp.NET Core项目(当然 也可以是任意项目).
GuZhenYin
2020/08/11
7320
Azure DevOps+Docker+Asp.NET Core 实现CI/CD(二.创建CI持续集成管道)
从零开始针对 .NET 应用的 DevOps 运营实践 - 运行环境搭建
最近的一段时间,在公司里我都在进行基于 Jenkins 和 SonarQube 配合已有的 Gitlab 搭建部门的持续集成环境的工作,虽然之前有使用过 GitHub Actions 和 Azure DevOps,但是从头开始搭建这样的一套 DevOps 环境还是学习到了一些新的知识点,因此,借着这个中秋国庆假期的机会,分享下整个工具链的搭建过程,如果你也有相似的需求的话,希望可以对你有所帮助
程序员宇说
2020/10/19
8490
从零开始针对 .NET 应用的 DevOps 运营实践 - 运行环境搭建
最近的一段时间,在公司里我都在进行基于 Jenkins 和 SonarQube 配合已有的 Gitlab 搭建部门的持续集成环境的工作,虽然之前有使用过 GitHub Actions 和 Azure DevOps,但是从头开始搭建这样的一套 DevOps 环境还是学习到了一些新的知识点,因此,借着这个中秋国庆假期的机会,分享下整个工具链的搭建过程,如果你也有相似的需求的话,希望可以对你有所帮助
梁规晓
2020/10/26
8360
从零开始针对 .NET 应用的 DevOps 运营实践 - 运行环境搭建
[Microsoft Teams]使用连接器接收Azure Devops的通知
连接器(connector)是Teams中频道的一个接受消息的功能,官方的解释如下:
dino.c
2020/03/24
1.7K0
[Microsoft Teams]使用连接器接收Azure Devops的通知
解决Azure DevOps部署到Azure后.NET Core网站无法启动的问题
最近我遭遇了一个奇怪的问题。使用Azure DevOps配置CI/CD管线,自动部署到Azure App Service以后,.NET Core的网站竟然会启动失败。我们来看看如何解决这个问题。
Edi Wang
2019/07/09
9270
解决Azure DevOps部署到Azure后.NET Core网站无法启动的问题
使用Azure DevOps持续集成GitHub项目
微软的Azure DevOps是一款软件开发管理工具,整合了需求、代码、编译、测试、发布等所有功能于一身。今天我们就来看看如何用Azure DevOps对自己GitHub上的项目做持续集成,并能在GitHub显示最新编译状态。
Edi Wang
2019/07/08
1.2K0
使用Azure DevOps持续集成GitHub项目
Azure 静态 web 应用集成 Azure 函数 API
前几次我们演示了如何通过Azure静态web应用功能发布vue跟blazor的项目(使用 Azure静态web应用+Github全自动部署VUE站点、使用Azure静态Web应用部署Blazor Webassembly应用)。但是一个真正的web应用,总是免不了需要后台api服务为前端提供数据或者处理数据的能力。同样前面我们也介绍了Azure函数服务,Azure函数的http trigger可以对http作出响应,可以完美的承当web api的角色。现在Azure静态web应用可以直接集成Azure函数,使得一次发布可以同时发布前端项目(vue、blazor)及后台api服务(azure函数)。
MJ.Zhou
2020/11/24
1.2K0
Azure 静态 web 应用集成 Azure 函数 API
使用Azure DevOps Pipeline实现.Net Core程序的CI
上次介绍了Azure Application Insights,实现了.net core程序的监控功能。这次让我们来看看Azure DevOps Pipeline功能。Azure DevOps Pipeline 是Azure DevOps里面的一个组件,对于12个月试用账号同样永久免费。
MJ.Zhou
2020/07/21
7400
使用Azure DevOps Pipeline实现.Net Core程序的CI
从一个小 Bug,到 Azure DevOps
最近和同事提起一个几年前的 Bug,那是一个很小很小的 Bug,没什么技术含量。那时候我刚入职,正好公司卖了一款仪器到某个国家,但是那边说配套的软件运行不起来,一打开就报错。经过排查发现出错的代码很简单,大致是这样:
dino.c
2021/11/30
4710
从一个小 Bug,到 Azure DevOps
在线Python环境(Azure Notebooks)
上文说道了anaconda的安装和使用。对于动手能力较差的小伙伴们来说,安装还是太过麻烦,一出现问题也不知道如何查错,然后就从入门选择放弃。
罗罗攀
2019/04/18
1.7K0
在线Python环境(Azure Notebooks)
win10 uwp 使用 Azure DevOps 自动构建
通过 Azure DevOps 可以做到自动构建程序,覆盖计划、创建、编程、测试、部署、发布、托管、共享等各个环节,适用于大多数的语言、平台。 本文继续使用图床为例告诉大家如何使用 Azure DevOps 自动构建
林德熙
2019/03/13
4930
win10 uwp 使用 Azure DevOps 自动构建
Azure DevOps 中 Dapr项目自动部署流程实践
注:本文中主要讨论 .NET6.0项目在 k8s 中运行的 Dapr 的持续集成流程, 但实际上不是Dapr的项目部署到K8s也是相同流程,只是k8s的yaml配置文件有所不同
重典
2022/04/11
4030
Azure DevOps 中 Dapr项目自动部署流程实践
DevSecOps管道和工具:需要了解的内容[DevOps]
到目前为止,DevOps在IT界已经得到了很好的理解,但是并不是完美的。假设已经在一个项目的现代应用程序交付中实现了所有DevOps工程实践。到达了开发管道的末端,但是一个渗透测试团队(内部或外部)发现了一个安全缺陷,并提出了一个报告。现在必须重新启动所有流程,并要求开发人员修复缺陷。
yyx
2019/12/03
1.2K0
DevSecOps管道和工具:需要了解的内容[DevOps]
Azure DevOps 部署成功后自动发邮件通知
默认情况下,Azure DevOps 在编译成功或失败后,会给项目成员发邮件通知。但是在CI/CD环境下,我们更关心的是什么时候部署完成,然后开展手工或自动化测试。我们来看看如何让 Azure DevOps 在部署成功后自动发邮件通知组员。
Edi Wang
2019/07/09
2K0
Azure DevOps 部署成功后自动发邮件通知
Sonar LTS 版本 8.9发布|新特性
开发人员可以通过静态应用程序安全性测试(SAST)来控制代码安全性,以使用更多语言,更多规则,更好的检测并改善工作流程。
DevOps云学堂
2021/05/11
1.5K0
Sonar LTS 版本 8.9发布|新特性
CRT:一款针对Azure的CrowdStrike安全报告工具
CRT全称为“CrowdStrike Reporting Tool for Azure”,是一款针对Azure的CrowdStrike安全报告工具。该工具会在Azure AD/O365 租户中查询以下配置,并帮助广大研究人员寻找一些跟权限和配置有关的安全信息,以帮助组织更好地保护Azure环境的安全性。
FB客服
2022/04/11
9800
CRT:一款针对Azure的CrowdStrike安全报告工具

相似问题

Exchange Web服务API 1.0错误

13

Exchange web services API -获取所有邮箱

18

测试Exchange Web服务API的最佳策略

10

使用Exchange服务获取电子邮件附件的服务器URL

13

PHP Exchange Web服务-获取邮件正文

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文