使用命令行在javafx中编译和创建具有多个归档文件的包

时间:2019-03-03 09:37:03

标签: mysql javafx command-line jar

我的名字是Omar,我想在javafx中编译这三个Java程序,我已经在我的计算机上安装了mysql,并且根据下面显示的代码创建了floggerdb数据库。 为了连接mysql数据库和javafx,我需要“ mysql-connector-java-5.1.20.jar”,我已经将其与相同的三个文件程序一起使用了。

第一个程序

sortedsizes = sorted(sizes)  
maxval = sortedsizes.pop()    # remove last one from sortedsizes  (== max)
minval = sortedsizes.pop(0)   # remove first one from sortedsizes (== min)
print(sortedsizes)            # print the sorted values

第二个程序

/***** DBConnection.java *****/  
package mtechproject.samples;
import java.sql.Connection; 
import java.sql.DriverManager;
import java.sql.SQLException;
public class DBConnection {
private static Connection conn;  
private static String url =
"jdbc:mysql://localhost:3306/floggerdb";
private static String user = "root";//Username of database  
   private static String pass = "password";//Password of database  
   public static Connection connect() throws SQLException{  
     try{  
   Class.forName("com.mysql.jdbc.Driver").newInstance();  
 }catch(ClassNotFoundException cnfe){  
   System.err.println("Error: "+cnfe.getMessage());  
 }catch(InstantiationException ie){  
   System.err.println("Error: "+ie.getMessage());  
 }catch(IllegalAccessException iae){  
   System.err.println("Error: "+iae.getMessage());  
 }  
 conn = DriverManager.getConnection(url,user,pass);  
 return conn;  

   }  
   public static Connection getConnection() throws SQLException, ClassNotFoundException{  
     if(conn !=null && !conn.isClosed())  
       return conn;  
     connect();  
     return conn;  
   }  
 }   

第三程序

/***** DisplayDatabase.java *****/  `
 package mtechproject.samples;  
 import java.sql.Connection;  
 import java.sql.ResultSet;  
 import javafx.beans.property.SimpleStringProperty;  
 import javafx.beans.value.ObservableValue;  
 import javafx.collections.FXCollections;  
 import javafx.collections.ObservableList;  
 import javafx.scene.control.TableColumn;  
 import javafx.scene.control.TableColumn.CellDataFeatures;  
 import javafx.scene.control.TableView;  
 import javafx.util.Callback;  
 import mtechproject.dbfrontend.DBConnectFlogger;  
 public class DisplayDatabase{  
   //Tableview and data  
   private static ObservableList<ObservableList> data;  
   //Connection database  
   public static void buildData(TableView tableview){  
      Connection c ;  
      data = FXCollections.observableArrayList();  
      try{  
       c = DBConnectFlogger.connect();  
       String SQL = "SELECT * from usertable";  
       //ResultSet  
       ResultSet rs = c.createStatement().executeQuery(SQL);  
       /**********************************  
        * TABLE COLUMN ADDED DYNAMICALLY *  
        **********************************/  
       for(int i=0 ; i<rs.getMetaData().getColumnCount(); i++){  
         //We are using non property style for making dynamic table  
         final int j = i;          
         TableColumn col = new TableColumn(rs.getMetaData().getColumnName(i+1));  
         col.setCellValueFactory(new Callback<CellDataFeatures<ObservableList,String>,ObservableValue<String>>(){            
           public ObservableValue<String> call(CellDataFeatures<ObservableList, String> param) {                                                 
             return new SimpleStringProperty(param.getValue().get(j).toString());              
           }            
         });  
         tableview.getColumns().addAll(col);  
       }  
       /********************************  
        * Data added to ObservableList *  
        ********************************/  
       while(rs.next()){  
         //Iterate Row  
         ObservableList<String> row = FXCollections.observableArrayList();  
         for(int i=1 ; i<=rs.getMetaData().getColumnCount(); i++){  
           //Iterate Column  
           row.add(rs.getString(i));  
         }  
         //System.out.println("Row [1] added "+row );  
         data.add(row);  
       }  
       //FINALLY ADDED TO TableView  
       tableview.setItems(data);  
      }catch(Exception e){  
        e.printStackTrace();  
        System.out.println("Error on Building Data");        
      }  
    }  
 }   

这三个程序必须在已编译的程序包中并且名为“ mtechproject.samples;”的程序包中。 我的问题是,如何仅使用命令行来结合.jar mysql-connector来编译这三个程序并创建这样的程序包(mtechproject.samples)?

非常感谢,感谢您的帮助

奥马尔

0 个答案:

没有答案