生成本地安装包代码

10 篇文章 0 订阅

生成本地安装包代码
pom.xml 引用的本地安装包代码

 package jar2maven;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.Scanner;
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 MakePomFromLocalJars {
	static StringBuffer sbf = new StringBuffer();
	
	public static void main(String[] args) throws FileNotFoundException, IOException {
		Scanner input = new Scanner(System. in );
		System.out.println("请输入jar包目录:");
		//"E:\\project\\ydjw\\jwtapp_cszd\\libs\\armeabi"
		String line = input.nextLine().trim();
		Element dependencys = new DOMElement("dependencys");
		File dir = new File(line);
		
		for (File jar : dir.listFiles()) {

			String bundleName = "";
			String bundleVersion = "";
			Element ele = null;
			StringBuffer sb = new StringBuffer(jar.getName());
			if(jar.getName().indexOf(".") == -1)
			{
				continue ;
			}
			String fileType = jar.getName().substring(jar.getName().lastIndexOf(".")) ; 
			// 
			if(fileType.equalsIgnoreCase(".jar"))
			{
				 
			
				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, jar.getPath());
	
				sb.setLength(0);
				sb.append(bundleName + "\t").append(bundleVersion);
	
				System.out.println(ele.asXML());	
				dependencys.add(ele);
				
				
			}else if(fileType.equalsIgnoreCase(".so")) {
				bundleName = jar.getName().substring(0,jar.getName().lastIndexOf(".")) ;				 
				ele = getDependicesOs(bundleName, "v3", jar.getPath() );
				System.out.println(ele.asXML());	
				dependencys.add(ele);
				
			}
		}
		System.out.println();
		System.out.print(sbf.toString());
	}

	public static Element getDependicesOs(String key, String ver, String jarName) {
		Element dependency = new DOMElement("dependency");

		try {
			 
			Element groupId = new DOMElement("groupId");
			Element artifactId = new DOMElement("artifactId");
			Element version = new DOMElement("version");
			Element scope = new DOMElement("scope");
			Element classifier = new DOMElement("classifier");
			Element type = new DOMElement("type");
			groupId.addText("com.autonavi");
			artifactId.addText(key);
			version.addText("v3");
			scope.addText("runtime");
			classifier.addText("armeabi");
			type.addText("so");
			dependency.add(groupId);
			dependency.add(artifactId);
			dependency.add(version);
			dependency.add(scope);
			dependency.add(classifier);
			dependency.add(type);
			String s = "mvn install:install-file -Dfile=%s -DgroupId=%s  -DartifactId=%s  -Dversion=%s -Dpackaging=so -DgeneratePom=true -Dclassifier=armeabi";
			String s1 = null ;
			s1 = String.format(s, jarName,groupId.getText(),artifactId.getText(),version.getText());
			sbf.append(s1+"\n");

		} catch (Exception e) {
			e.printStackTrace();
		}
		return dependency;
	}
	
	public static Element getDependices(String key, String ver, String jarName) {
		Element dependency = new DOMElement("dependency");

		try {
			 
			Element groupId = new DOMElement("groupId");
			Element artifactId = new DOMElement("artifactId");
			Element version = new DOMElement("version");
			 
			groupId.addText("com.aj.external");
			artifactId.addText(key);
			version.addText("1.0.0");
			 
			dependency.add(groupId);
			dependency.add(artifactId);
			dependency.add(version);
			 
			String s = "mvn install:install-file -Dfile=%s -DgroupId=%s  -DartifactId=%s  -Dversion=%s -Dpackaging=jar -DgeneratePom=true";
			String s1 = null ;
			s1 = String.format(s, jarName,groupId.getText(),artifactId.getText(),version.getText());
			sbf.append(s1+"\n");

		} catch (Exception e) {
			e.printStackTrace();
		}
		return dependency;
	}

}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值