如何安裝jar包到本地maven倉庫呢?
使用如下指令即可:
mvn install:install-file -dfile=e:\tmp\hijson\hijson.jar -dgroupid=com.kunlunsoft5 -dartifactid=hijson -dversion=1.0.0 -dpackaging=jar
參數說明:
-dfile :指定jar路徑
-dgroupid :指定jar包的groupid
-dartifactid :指定jar包的artifactid
源代碼如下:
package com.yunma.dialog;
import java.awt.borderlayout;
import java.awt.eventqueue;
import javax.swing.jframe;
import javax.swing.jpanel;
import javax.swing.jscrollpane;
import javax.swing.border.emptyborder;
import java.awt.gridbaglayout;
import javax.swing.jlabel;
import java.awt.gridbagconstraints;
import javax.swing.jtextfield;
import java.awt.insets;
import javax.swing.jbutton;
import com.cmd.dos.hw.util.cmdutil;
import com.string.widget.util.valuewidget;
import com.swing.component.assistpopuptextarea;
import com.swing.dialog.dialogutil;
import java.awt.event.actionlistener;
import java.awt.event.actionevent;
public class maventookitdialog extends jframe {
private static final long serialversionuid = -3076948674378465960l;
private jpanel contentpane;
private jtextfield jartextfield;
private jtextfield groupidtextfield_1;
private jtextfield artifactidtextfield_1;
private jtextfield versiontextfield_1;
private jtextfield packagingtextfield_1;
private jtextfield textfield_1;
public static final string maven_install_jar_cmd="mvn install:install-file -dfile=%s -dgroupid=%s -dartifactid=%s -dversion=%s -dpackaging=%s";
private assistpopuptextarea resulttextarea;
/**
* launch the application.
*/
public static void main(string[] args) {
eventqueue.invokelater(new runnable() {
public void run() {
try {
maventookitdialog frame = new maventookitdialog();
frame.setvisible(true);
} catch (exception e) {
e.printstacktrace();
}
}
});
}
* create the frame.
public maventookitdialog() {
setdefaultcloseoperation(jframe.exit_on_close);
settitle("安裝本地jar");
setbounds(100, 100, 450, 300);
contentpane = new jpanel();
contentpane.setborder(new emptyborder(5, 5, 5, 5));
setcontentpane(contentpane);
gridbaglayout gbl_contentpane = new gridbaglayout();
gbl_contentpane.columnwidths = new int[]{0, 0, 0};
gbl_contentpane.rowheights = new int[]{0, 0, 0, 0, 0, 0, 0, 0, 0};
gbl_contentpane.columnweights = new double[]{0.0, 1.0, double.min_value};
gbl_contentpane.rowweights = new double[]{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, double.min_value};
contentpane.setlayout(gbl_contentpane);
jlabel label = new jlabel("檔案");
gridbagconstraints gbc_label = new gridbagconstraints();
gbc_label.insets = new insets(0, 0, 5, 5);
gbc_label.anchor = gridbagconstraints.west;
gbc_label.gridx = 0;
gbc_label.gridy = 0;
contentpane.add(label, gbc_label);
jartextfield = new jtextfield();
gridbagconstraints gbc_textfield = new gridbagconstraints();
gbc_textfield.insets = new insets(0, 0, 5, 0);
gbc_textfield.fill = gridbagconstraints.horizontal;
gbc_textfield.gridx = 1;
gbc_textfield.gridy = 0;
contentpane.add(jartextfield, gbc_textfield);
jartextfield.setcolumns(10);
jlabel lblnewlabel = new jlabel("groupid");
gridbagconstraints gbc_lblnewlabel = new gridbagconstraints();
gbc_lblnewlabel.anchor = gridbagconstraints.west;
gbc_lblnewlabel.insets = new insets(0, 0, 5, 5);
gbc_lblnewlabel.gridx = 0;
gbc_lblnewlabel.gridy = 1;
contentpane.add(lblnewlabel, gbc_lblnewlabel);
groupidtextfield_1 = new jtextfield();
gridbagconstraints gbc_groupidtextfield_1 = new gridbagconstraints();
gbc_groupidtextfield_1.insets = new insets(0, 0, 5, 0);
gbc_groupidtextfield_1.fill = gridbagconstraints.horizontal;
gbc_groupidtextfield_1.gridx = 1;
gbc_groupidtextfield_1.gridy = 1;
contentpane.add(groupidtextfield_1, gbc_groupidtextfield_1);
groupidtextfield_1.setcolumns(10);
jlabel lblartifactid = new jlabel("artifactid");
gridbagconstraints gbc_lblartifactid = new gridbagconstraints();
gbc_lblartifactid.anchor = gridbagconstraints.west;
gbc_lblartifactid.insets = new insets(0, 0, 5, 5);
gbc_lblartifactid.gridx = 0;
gbc_lblartifactid.gridy = 2;
contentpane.add(lblartifactid, gbc_lblartifactid);
artifactidtextfield_1 = new jtextfield();
gridbagconstraints gbc_artifactidtextfield_1 = new gridbagconstraints();
gbc_artifactidtextfield_1.insets = new insets(0, 0, 5, 0);
gbc_artifactidtextfield_1.fill = gridbagconstraints.horizontal;
gbc_artifactidtextfield_1.gridx = 1;
gbc_artifactidtextfield_1.gridy = 2;
contentpane.add(artifactidtextfield_1, gbc_artifactidtextfield_1);
artifactidtextfield_1.setcolumns(10);
jlabel lblversion = new jlabel("version");
gridbagconstraints gbc_lblversion = new gridbagconstraints();
gbc_lblversion.anchor = gridbagconstraints.west;
gbc_lblversion.insets = new insets(0, 0, 5, 5);
gbc_lblversion.gridx = 0;
gbc_lblversion.gridy = 3;
contentpane.add(lblversion, gbc_lblversion);
versiontextfield_1 = new jtextfield();
gridbagconstraints gbc_versiontextfield_1 = new gridbagconstraints();
gbc_versiontextfield_1.insets = new insets(0, 0, 5, 0);
gbc_versiontextfield_1.fill = gridbagconstraints.horizontal;
gbc_versiontextfield_1.gridx = 1;
gbc_versiontextfield_1.gridy = 3;
contentpane.add(versiontextfield_1, gbc_versiontextfield_1);
versiontextfield_1.setcolumns(10);
jlabel lblpackaging = new jlabel("packaging");
gridbagconstraints gbc_lblpackaging = new gridbagconstraints();
gbc_lblpackaging.anchor = gridbagconstraints.west;
gbc_lblpackaging.insets = new insets(0, 0, 5, 5);
gbc_lblpackaging.gridx = 0;
gbc_lblpackaging.gridy = 4;
contentpane.add(lblpackaging, gbc_lblpackaging);
packagingtextfield_1 = new jtextfield("jar");
gridbagconstraints gbc_packagingtextfield_1 = new gridbagconstraints();
gbc_packagingtextfield_1.insets = new insets(0, 0, 5, 0);
gbc_packagingtextfield_1.fill = gridbagconstraints.horizontal;
gbc_packagingtextfield_1.gridx = 1;
gbc_packagingtextfield_1.gridy = 4;
contentpane.add(packagingtextfield_1, gbc_packagingtextfield_1);
packagingtextfield_1.setcolumns(10);
/*jlabel label_1 = new jlabel("預留");
gridbagconstraints gbc_label_1 = new gridbagconstraints();
gbc_label_1.anchor = gridbagconstraints.west;
gbc_label_1.insets = new insets(0, 0, 5, 5);
gbc_label_1.gridx = 0;
gbc_label_1.gridy = 5;
contentpane.add(label_1, gbc_label_1);
textfield_1 = new jtextfield();
gridbagconstraints gbc_textfield_1 = new gridbagconstraints();
gbc_textfield_1.insets = new insets(0, 0, 5, 0);
gbc_textfield_1.fill = gridbagconstraints.horizontal;
gbc_textfield_1.gridx = 1;
gbc_textfield_1.gridy = 5;
contentpane.add(textfield_1, gbc_textfield_1);
textfield_1.setcolumns(10);*/
jpanel panel = new jpanel();
gridbagconstraints gbc_panel = new gridbagconstraints();
gbc_panel.insets = new insets(0, 0, 5, 0);
gbc_panel.gridwidth = 2;
gbc_panel.fill = gridbagconstraints.both;
gbc_panel.gridx = 0;
gbc_panel.gridy = 6;
contentpane.add(panel, gbc_panel);
jbutton button_1 = new jbutton("安裝");
button_1.addactionlistener(new actionlistener() {
public void actionperformed(actionevent e) {
if(!dialogutil.verifytfandexist(jartextfield, "jar 檔案")){
return;
string jarpath=jartextfield.gettext();
jarpath=jarpath.replace("\\", "/");
if(!dialogutil.verifytfempty(groupidtextfield_1, "groupid")){
if(!dialogutil.verifytfempty(artifactidtextfield_1, "artifactid")){
if(!dialogutil.verifytfempty(versiontextfield_1, "version")){
if(!dialogutil.verifytfempty(packagingtextfield_1, "packaging")){
string groupid=groupidtextfield_1.gettext();
string artifactid=artifactidtextfield_1.gettext();
string version=versiontextfield_1.gettext();
string packaging=packagingtextfield_1.gettext();
if(valuewidget.isnullorempty(packaging)){
packaging="jar";
string cmd=string.format(maven_install_jar_cmd, jarpath,groupid,artifactid,version,packaging);
// system.out.println(cmd);
cmdutil.getresult4cmd(cmd);
resulttextarea.settext(cmd);
panel.add(button_1);
jpanel panel_1 = new jpanel();
gridbagconstraints gbc_panel_1 = new gridbagconstraints();
gbc_panel_1.gridwidth = 2;
gbc_panel_1.fill = gridbagconstraints.both;
gbc_panel_1.gridx = 0;
gbc_panel_1.gridy = 7;
contentpane.add(panel_1, gbc_panel_1);
panel_1.setlayout(new borderlayout(0, 0));
resulttextarea=new assistpopuptextarea();
jscrollpane js=new jscrollpane(resulttextarea);
panel_1.add(js);
}
cmdutil.getresult4cmd的實作見
http://pan.baidu.com/s/1pjaaoif
中的com.cmd.dos.hw.util.cmdutil