java增量更新文件打包工具(半成品)

半成品java增量更新打包编译工具

因为生产代码在迭代更新过程中,对代码的管理不善,使我对现有代码是否与生产一致产生了极大的怀疑,为避免全量更新影响其他业务,我决定写一个通过svn的文件清单来对我自己改动过的代码进行自动提取,编译,打包的工具。

编码前

我不想要做成配置的形式,因此我用稍微学习了下现阶段常用的java客户端编程工具JavaFx。

##界面预览
在这里插入图片描述
如图所示,
更新清单:你需要打包的的增量更新。
lib:是本次打包所涉及的jar包。
源码根目录:你要提取的源码。
存储路径:编译提取后的文件。
然后编译。

源码:
Controller:

package sample;

import com.sun.org.apache.xerces.internal.dom.AbortException;
import javafx.fxml.FXML;
import javafx.scene.control.Alert;
import javafx.scene.control.TextArea;
import javafx.scene.control.TextField;
import javafx.stage.DirectoryChooser;
import javafx.stage.FileChooser;
import javafx.stage.Stage;

import javax.tools.*;
import java.io.*;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;


public class Controller {
    /**/
    @FXML
    private TextField file_list_path;
    @FXML
    private TextArea lib_files;
    @FXML
    private TextField source_path;
    @FXML
    private TextField target_path;
    /*jar 包名*/
    private List<String> jarFileNames=new ArrayList<String>();;
    /**/
    private StringBuffer   showJARs=new  StringBuffer();;

    @FXML
    public void borrow_file_list(){
        FileChooser fileChooser=new FileChooser();
        fileChooser.setTitle("选择文件列表");
        File file=fileChooser.showOpenDialog(new Stage());
        if(file.exists()){
            file_list_path.setText(file.getPath());
        }
    }
    @FXML
    public  void  choose_libs(){
        FileChooser fileChooser=new FileChooser();
        fileChooser.setTitle("选择jdr包");
        List<File> files= fileChooser.showOpenMultipleDialog(new Stage());
        for (File file: files) {
            if(!file.isDirectory()){
                if(jarFileNames.size()==0){
                    jarFileNames.add(file.getPath());
                    showJARs.append(file.getPath());
                }else{
                    jarFileNames.add(file.getPath());
                    showJARs.append("\n").append(file.getPath());
                }
            }
        }
        lib_files.setText(showJARs.toString());
    }
    @FXML
    public  void borrow_source_path(){
        DirectoryChooser directoryChooser=new DirectoryChooser();
        directoryChooser.setTitle("选择源目录");
        File file=directoryChooser.showDialog(new Stage());
        if(file.exists()){
            source_path.setText(file.getPath());
        }

    }

    @FXML
    public  void borrow_target_path(){
        DirectoryChooser directoryChooser=new DirectoryChooser();
        directoryChooser.setTitle("选择目标目录");
        File file=directoryChooser.showDialog(new Stage());
        if(file.exists()){
            target_path.setText(file.getPath());
        }

    }
    /*打包项目*/
    @FXML
    public void packageProject(){
        String fileListName=file_list_path.getText();
        String sourcePath=source_path.getText();
        String targetPath=target_path.getText();
        if("".equals(fileListName)||"".equals(sourcePath)||"".equals(targetPath)){
            Alert alert = new Alert(Alert.AlertType.INFORMATION);
            alert.titleProperty().set("信息");
            alert.headerTextProperty().set("文件清单,源文件或目标文件不得为空!");
            alert.showAndWa
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值