转换为jar文件

时间:2016-03-01 00:48:55

标签: java jdbc jar java-8

我正在使用Microsoft SQL Server JDBC驱动程序插入学生注册字段以用于学习数据库。我已经成功创建了 java应用程序并且该应用程序正常运行 当我运行它时作为一个java程序。 现在我将Java程序转换为jar文件,同时将Java程序转换为jar文件我采取了所有预防措施,例如将外部jar文件复制到lib文件夹并提供本机库路径到Jdbc驱动程序jar文件。 但仍然当我运行我的jar文件时,我收到以下错误,请指导我:

java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver
        at java.net.URLClassLoader.findClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Unknown Source)
        at bean.DbConnectClass.jdbcConnction(DbConnectClass.java:16)
        at Main.main(Main.java:21)

请注意我使用的是Java 8版本,目前我正在使用jar文件的兼容版本。

我的清单文件包含以下内容:

Manifest-Version: 1.0
Main-Class: Main

我的代码如下:我只是通过将参数传递给创建的jar文件,通过main方法调用此类。

public class DbConnectClass {
    Connection connection = null;
    Statement stmt = null;
    public void jdbcConnction (){
        try{
        try {
            Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
        } catch (ClassNotFoundException e) {
            **System.out.println("Where is your MSSQL JDBC Driver?");**
            e.printStackTrace();
            return;
        }

        System.out.println("MsSQL JDBC Driver Registered!");
        try {
            connection = DriverManager
            .getConnection("jdbc:sqlserver://127.0.0.1:1433;instance=DELL\\HOME;DatabaseName=Prime_Student","confidential", "confidential");
            //jdbc:sqlserver://10.105.219.102:1433;instance=OVOPS;DatabaseName=openview;inte‌​gratedSecurity=true

        } catch (SQLException e) {
            System.out.println("Connection Failed! Check output console");
            e.printStackTrace();
            return;
        }
        if (connection != null) {
            stmt = connection.createStatement();
            System.out.println("You made it, take control your database now!");
        } else {
            System.out.println("Failed to make connection!");
        }
        }catch(Exception e){
        e.printStackTrace();
    }
    }
    public String insertUpdate(String id,String time,String location,String StudentName,String Description,String TeacherName,String SubjectTxt,String Room_Id)
    {


            CallableStatement cstmt = null;
             try {

                    System.out.println("Going to insert the data");
                 cstmt = connection.prepareCall(
                            "{call insert_to_Load_StudentData(?,?,?,?,?,?,?,?)}",
                            ResultSet.TYPE_SCROLL_INSENSITIVE,
                            ResultSet.CONCUR_READ_ONLY);

                    cstmt.setString("parm1", id);
                    cstmt.setString("parm2", StudentName);
                    cstmt.setString("parm3", location);
                    cstmt.setString("parm4", Description);
                    cstmt.setString("parm5", TeacherName);
                    cstmt.setString("parm6", SubjectTxt);
                    cstmt.setString("parm7", time);
                    cstmt.setString("parm8", Room_Id);
                    boolean results = cstmt.execute();
                    //int rowsAffected = 0;
                    if (results==false)
                    {
                        System.out.println("Data Inserted sucesfully");
                    }
                    else
                    {
                        System.out.println("Data is inserted properly");
                    }
            //ResultSet rs = null;


        }catch(Exception e){
            e.printStackTrace();
        }
        return "";
    }
    public void closeConnection (){
        try{
            connection.close();
            stmt.close();
        }catch(Exception e){
        }
    }
    }
Modified Manifest File

Manifest-Version: 1.0
Main-Class: Main
Class-Path: . sqljdbc4.jar

我也尝试运行以下命令:

jar -cvfm jarfilename.jar manifest.mf *.class

但显示未识别的批处理命令,然后我将此命令修改为

 java -jar -cvfm jarfilename.jar manifest.mf *.class

以上命令出现的错误是

Unrecognized option -cvfm
Error: Could not create the Java Virtual Machine
Error: A fatal exception has occurred Program will exit.

请指导我,请注意,即使仍在对Manifest.mf进行修改,例外情况仍然存在。

0 个答案:

没有答案