原文网址:build(构建)--介绍_IT利刃出鞘的博客-CSDN博客

maven转gradle

纯粹转换依赖

Maven to Gradle Dependencies Converter

pom.xml生成gradle项目

1.本机安装了gradle 2.0以上的版本

2.生成gradle文件。
        在maven项目的根目录下运行:gradle init --type pom

3.以build.gradle文件打开项目

gradle转maven

1.build.gradle添加maven插件

apply plugin: 'maven'

或者

plugins {
    id 'maven'
}

2.生成pom.xml

执行gradle build再执行gradle install

3.查看文件

此时,在项目的build/poms会生成pom-default.xml

Jar转为pom.xml

其他网址

基于Maven中心库 通过Jar包生成Maven POM.xml的dependency_java,maven_贾小黑的博客-CSDN博客
将项目中的jar文件生成pom文件_Java_闵渭凯-CSDN博客

本程序会在控制台中输出依赖,例如:

<dependencies><dependency><groupId>commons-beanutils</groupId><artifactId>commons-beanutils</artifactId><version>1.8.3</version></dependency><dependency><groupId>commons-logging</groupId><artifactId>commons-logging</artifactId><version>1.1.3</version></dependency><dependency><groupId>XXX</groupId><artifactId>mysql-connector-java-bin</artifactId><version>5.0.8</version></dependency><dependency><groupId>org.apache.shiro</groupId><artifactId>shiro-all</artifactId><version>1.3.2</version></dependency>
</dependencies>

所需包

<dependencies><dependency><groupId>com.alibaba</groupId><artifactId>fastJson</artifactId><version>1.2.17</version></dependency><dependency><groupId>dom4j</groupId><artifactId>dom4j</artifactId><version>1.6</version></dependency><dependency><groupId>org.jsoup</groupId><artifactId>jsoup</artifactId><version>1.9.2</version></dependency>
</dependencies>
package com.test;import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.Iterator;
import java.util.jar.JarInputStream;
import java.util.jar.Manifest;import org.dom4j.Element;
import org.dom4j.dom.DOMElement;
import org.jsoup.Jsoup;
import com.alibaba.fastjson.JSONObject;
public class Jar2Pom {public static void main(String[] args) throws FileNotFoundException, IOException {Element dependencies = new DOMElement("dependencies");File dir = new File("E:\\my_project\\test\\src\\main\\lib");        //需生成pom.xml 文件的 lib路径System.out.println("<dependencies>");for (File jar : dir.listFiles()) {JarInputStream jis = new JarInputStream(new FileInputStream(jar));Manifest mainmanifest = jis.getManifest();jis.close();//其他网站方法都少这个判断,会抛出空指针异常if(mainmanifest==null) {continue;}String bundleName = mainmanifest.getMainAttributes().getValue("Bundle-Name");String bundleVersion = mainmanifest.getMainAttributes().getValue("Bundle-Version");Element ele = null;StringBuffer sb = new StringBuffer(jar.getName());if (bundleName != null) {bundleName = bundleName.toLowerCase().replace(" ", "-");sb.append(bundleName+"\t").append(bundleVersion);ele = getDependices(bundleName, bundleVersion);//System.out.println(sb.toString());//System.out.println(ele.asXML());}if (ele == null || ele.elements().size() == 0) {bundleName = "";bundleVersion = "";String[] ns = jar.getName().replace(".jar", "").split("-");for (String s : ns) {if (Character.isDigit(s.charAt(0))) {bundleVersion += s + "-";} else {bundleName += s + "-";}}if (bundleVersion.endsWith("-")) {bundleVersion = bundleVersion.substring(0, bundleVersion.length() - 1);}if (bundleName.endsWith("-")) {bundleName = bundleName.substring(0, bundleName.length() - 1);}ele = getDependices(bundleName, bundleVersion);sb.setLength(0);sb.append(bundleName+"\t").append(bundleVersion);//System.out.println(ele.asXML());}ele = getDependices(bundleName, bundleVersion);if (ele.elements().size() == 0) {ele.add(new DOMElement("groupId").addText("XXX"));ele.add(new DOMElement("artifactId").addText(bundleName));ele.add(new DOMElement("version").addText(bundleVersion));}System.out.println("\t" + "<dependency>");Iterator<DOMElement> iterator = ele.nodeIterator();while(iterator.hasNext()){System.out.println("\t\t" + iterator.next().asXML());}System.out.println("\t" + "</dependency>");//System.out.println("\t"+ele.asXML());//dependencies.add(ele);}//System.out.println(dependencies.asXML());System.out.println("</dependencies>");}public static Element getDependices(String key, String ver) {Element dependency = new DOMElement("dependency");// 设置代理// System.setProperty("http.proxyHost", "127.0.0.1");// System.setProperty("http.proxyPort", "8090");try {String url = "http://search.maven.org/solrsearch/select?q=a%3A%22" +key + "%22%20AND%20v%3A%22" + ver + "%22&rows=3&wt=json";org.jsoup.nodes.Document doc = Jsoup.connect(url).ignoreContentType(true).timeout(30000).get();String elem = doc.body().text();JSONObject response = JSONObject.parseObject(elem).getJSONObject("response");if (response.containsKey("docs") && response.getJSONArray("docs").size() > 0) {JSONObject docJson = response.getJSONArray("docs").getJSONObject(0);Element groupId = new DOMElement("groupId");Element artifactId = new DOMElement("artifactId");Element version = new DOMElement("version");groupId.addText(docJson.getString("g"));artifactId.addText(docJson.getString("a"));version.addText(docJson.getString("v"));dependency.add(groupId);dependency.add(artifactId);dependency.add(version);}} catch (Exception e) {e.printStackTrace();}return dependency;}
}

pom.xml生成Jar

其他网址:jar文件和pom.xml文件依赖之间的转换_Java_断橋殘雪的博客-CSDN博客

1:创建pom2jar.bat

内容如下

call mvn -f pom.xml dependency:copy-dependencies@pause

2.创建pom.xml

在此pom.xml中添加相应依赖即可

<?xml version="1.0"?>
<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>temp.download</groupId><artifactId>temp-download</artifactId><version>1.0-SNAPSHOT</version> <dependencies><!-- 需要下载Jar包,只需要在pom.xml文件中添加相应依赖--><!-- 示例 --><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.45</version></dependency></dependencies>
</project>

3.将pom2jar.bat与pom.xml放到同一个文件夹

4.双击pom2jar.bat

jar包文件会下载在target/dependency/

build(构建)--介绍相关推荐

  1. 解决go build 构建问题 go:build comment without // +build comment

    记录一个go build 构建的问题 main.go 文件 package mainimport ("github.com/valyala/fasthttp""go.ub ...

  2. Jenkins基础:Jenkinsfile使用实例:12:使用docker.build构建镜像

    在前面一篇文章中我们介绍了使用在Jenkinsfile中使用dockerfile来动态生成镜像,从而在指定的阶段进行使用.而对于将构建生成的二进制应用进行容器化,比如将spring boot应用的ja ...

  3. docker push很慢怎么办_如何加速 Docker Build 构建过程

    Dockerfile docker 已经成为现代开发的基础技术, 而在 docker 开发流中, Dockerfile 是最基础的文件. 一个包括了系统配置.依赖安装.业务代码的 Dockerfile ...

  4. Go build构建包

    摘要:build命令使用 [Golang 基础系列五]Go 语言命令之go build_郭枫的博客-CSDN博客一.go build主要用于编译代码用于测试编译包,在项目目录下生成可执行文件(有mai ...

  5. 前端build工具介绍

    即使对于一些经验丰富的开发者来说,诸多的前端工具还是会让他们感到头痛.解决这个问题的最好办法,就是在概念上理解他们的工作方式,已经他们之间相互配合的方式. 不要被各种专业名词唬住 Node, NPM, ...

  6. Cordova build构建常见问题整理

    手把手教你安装Cordova 部署android开发环境 参考链接:https://blog.csdn.net/weixin_43978056/article/details/105781622 CO ...

  7. 解决npm instal 或者npm run build 构建错误 Error:EISDIR:illegal operation on a directory 的错误提示

    在执行 npm install 的时候出现这个错误:Error:EISDIR:illegal operation on a directory EISDIR代表"错误,是目录"这意 ...

  8. docker简单介绍、安装使用、常用命令、docker构建springboot项目、k8s安装

    docker简单介绍 docker的意义 把事情简单化 Docker友好的基于CLI的工作流使各种技能水平的开发人员都可以访问构建,共享和运行容器化应用程序. 快速移动 从单个软件包安装即可在几分钟内 ...

  9. Docker学习(8)——构建镜像(Dockerfile、commit)

    前言 在前面的文章里我们已经详细介绍了构建镜像的两种常用方式,下面我们将具体看看如何实际操作,以及镜像的优化方式. 一.commit封装镜像 以ubuntu的镜像为例: 1.导入ubuntu镜像 [r ...

最新文章

  1. python与excel结合-Python与Excel之间的交互
  2. VTK修炼之道60:体绘制_体绘制管线图形渲染管线
  3. 深入理解asp.net中的 __doPostBack函数
  4. Python 前端框架【Bootstrap】
  5. ReactJS入门之环境搭建以及编写HelloWorld程序
  6. springboot添加webmagic_SpringBoot+Solr + webmagic JD商品爬取数据,放入solr中做搜索
  7. mysql修改记录_MySQL中如何创建、查看、删除、修改表记录
  8. AgentWeb url监听问题
  9. 关于商业计划书(Business Project,以下简称BP)写作那些事儿(一)
  10. [CAN] CAN BUS的错误检测和错误状态管理
  11. python类和对象
  12. ViPER4Android FX 2.5,利用ViPER4Android FX音效驱动提升耳机音质
  13. 嘿,算法,哪里跑|你知道“时间复杂度”吗|算法初识
  14. 25、Java面向对象——抽象类和抽象方法、接口
  15. h3c交换机配置远程管理_H3C 交换机设置本地用户和telnet远程登录配置 v7 版本...
  16. 水安ABC考试多选练习题库(6)
  17. 泰坦尼克号幸存者预测 python 详解
  18. 谁告诉你 Flutter 会干掉原生开发?
  19. python逐步回归筛选变量_特征选择与逐步回归分析
  20. 【DIRECTX状态详解】

热门文章

  1. ARM汇编:伪指令DATA和EQU的区别
  2. libmodbus(2)——ERROR CRC received CRC calculated
  3. 00058 imp,IMP-00058: 遇到 ORACLE 错误 904
  4. d3.js v5入门之——比例尺
  5. 什么是原型链和作用域链?
  6. JavaWeb——HTML基础内容总结
  7. Threejs 学习之旅(三)
  8. 明日香网站开启计划DAY2
  9. python Fluidsynth win10 安装记录
  10. [人体运动分析]关节中心的计算