我需要帮助。我花了几个小时试图解决这个问题,但不能。我在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>
我配置了文件->项目结构->工件,并添加了libs / java-json.jar。
最后,在Intellij上,我单击Build-> Build Artifacts-> plicatortor.jar-> Build。并且我的可执行jar已成功创建。
但是当我尝试运行它时,会发生错误。这是屏幕截图。
请帮助。。我知道这里已经回答了这个问题:Java: NoClassDefFoundError: org/json/JSONException,但是解决方案无法解决我的问题。也许这是intellij的错误?
================================================ =====================
我最近的更新: 我试了几个小时直到我放弃。目前,在Windows 10中用Java项目创建可执行应用程序的唯一可能方法是不使用Intellij CE 2018.2。我尝试使用NetBeans 8.2 IDE,并使用gradle插件和cygwin成功创建了可执行文件bat。
我不会回答这个问题,因为我知道总有一天会有办法,但是现在我放弃并尝试了另一种IDE,至少是为了创建可执行文件。
答案 0 :(得分:1)
我面临着同样的问题。花了几个小时后,我找到了解决此问题的解决方案。 我需要做的是:
转到:文件->项目结构->库 在图书馆中添加“ org.springframework.boot:spring-boot-configuration-processor:2.3.4.RELEASE”。
现在清理,构建并运行项目
注意:您可以更改上述软件包的版本
答案 1 :(得分:0)
将jar文件放在lib文件夹下,因为在运行时它无法识别您的jar。
答案 2 :(得分:0)
打开您的replicator.jar
(可以使用WinRAR),然后查看罐子内部是否有JSONException
类。如果不是,则需要将其放入罐子中。为此,您可以使用maven shade(https://maven.apache.org/plugins/maven-shade-plugin/)插件或汇编插件(http://maven.apache.org/plugins/maven-assembly-plugin/)将所有依赖类包含到可执行jar中。
答案 3 :(得分:0)
为了解决这个问题,我在这里做了:
我删除了 .idea
文件夹和包含项目名称的 .iml
文件。
Files and folder to delete
我是如何解决大部分 Intellij IDEA 问题的