生成本地安装包代码
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;
}
}