【发布时间】:2019-05-29 02:51:32
【问题描述】:
我需要帮助。我花了几个小时试图解决这个问题,但我做不到。我在 Intellij Community Edition 2018.2 OS Windows 10 上编码,这是我的 java 项目结构。
我的 Main.java 源代码:
package id.simko;
public class Main {
public static void main(String[] args) {
System.out.println("Hello World!");
SqlServerConn sqlServerConn = new SqlServerConn();
sqlServerConn.connectDbSqlServer();
sqlServerConn.selectSqlServer();
}
}
SqlServerConn.java:
package id.simko;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import java.sql.*;
class SqlServerConn {
private Connection conn;
void connectDbSqlServer() {
String db_connect_string = "jdbc:sqlserver://localhost";
String db_name = "db1";
String db_userid = "sa";
String db_password = "sa";
try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
conn = DriverManager.getConnection(db_connect_string+";databaseName="+db_name,
db_userid, db_password);
System.out.println("connected to sql server");
} catch (Exception e) {
e.printStackTrace();
}
}
void selectSqlServer(){
Statement statement;
try {
// ... skipped for clarity
} catch (SQLException e) {
e.printStackTrace();
}
}
}
我的 MANIFEST.MF:
Manifest-Version: 1.0
Main-Class: id.simko.Main
我的 pom.xml:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>id.simko</groupId>
<artifactId>replicator</artifactId>
<version>1.0-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>com.microsoft.sqlserver</groupId>
<artifactId>mssql-jdbc</artifactId>
<version>7.0.0.jre8</version>
</dependency>
</dependencies>
</project>
我配置了File -> Project Structure -> Artifacts,并添加了libs/java-json.jar。
最后,在 Intellij 上,我点击了 Build -> Build Artifacts ->replicator.jar -> Build。我的可执行jar就创建成功了。
但是当我尝试运行它时,会发生错误。这是屏幕截图。
请帮忙.. 我知道这个问题已经在这里回答了:Java: NoClassDefFoundError: org/json/JSONException 但该解决方案无法解决我的问题。也许这是来自 intellij 的错误?
================================================ ======================
我的最后更新: 我尝试了几个小时,直到我放弃。目前,在 Windows 10 中从 java 项目创建可执行应用程序的唯一可能方法是不使用 Intellij CE 2018.2。我尝试了 NetBeans 8.2 IDE,并成功创建了带有 gradle 插件和 cygwin 的可执行 bat。
我不会回答这个问题,因为我知道有一天有人会有办法,但现在我放弃并尝试了不同的 IDE,至少在创建可执行文件方面。
【问题讨论】:
-
您使用的外部 jar,尚未附加到您创建的 jar。
-
感谢您的帮助。我怎样才能附上它?
-
在您的 pom 文件中添加外部 jar 作为依赖项
-
你是如何创建可执行 JAR 的?您是否使用 Maven 打包 JAR? pom.xml 中是否提到了这种依赖关系?
-
@Dika 你从哪里得到
json-jar?可以解压看看有没有org.json.JSONException
标签: java intellij-idea noclassdeffounderror executable-jar