gpt4 book ai didi

java - IntelliJ GUI Designer Maven 可执行 JAR 导出

转载 作者:搜寻专家 更新时间:2023-10-31 08:10:50 28 4
gpt4 key购买 nike

我正在使用 IntelliJ IDEA的 GUI 设计器和 Maven作为构建系统。当我通过 this 构建可执行的 JAR 文件时回答,构建成功。但是,当通过命令 java -jar MyApplication.jar 启动时它会抛出异常:

    Exception in thread "main" java.awt.IllegalComponentStateException: contentPane cannot be set to null.
at javax.swing.JRootPane.setContentPane(JRootPane.java:621)
at javax.swing.JFrame.setContentPane(JFrame.java:698)
...

受影响的代码行如下:

setContentPane(panel);

当从 IntelliJ 中的源代码运行时,它工作正常,但是 Maven 似乎没有正确构建 JAR 文件。毕竟,IntelliJ 通过链接到 .form 文件来保持 .java 源代码文件与 GUI 代码的清洁,从而发挥“魔力”。

我还找到了一个可能的解决方案,它涉及向 pom.xml 文件添加一个特殊插件,似乎可以为 IntelliJ 的 GUI 设计器提供构建支持 here .所以我再次运行 mvn clean compile assembly:single,它没有任何错误,但没有任何改变。

如果我执行 mvn deploy,插件会抛出以下错误:

[ERROR] Failed to execute goal org.codehaus.mojo:ideauidesigner-maven-plugin:1.0-beta-1:javac2 (default) on project MyApplication: Execution default of goal org.codehaus.mojo:ideauidesigner-maven-plugin:1.0-beta-1:javac2 failed: 16257 -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/PluginExecutionException

这是我的 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>groupId</groupId>
<artifactId>MyApplication</artifactId>
<version>1.0-SNAPSHOT</version>

<dependencies>
<!-- Apache Commons Lang -->
<dependency>
<groupId>commons-lang</groupId>
<artifactId>commons-lang</artifactId>
<version>2.6</version>
</dependency>

<!-- Jsoup HTML parser -->
<dependency>
<groupId>org.jsoup</groupId>
<artifactId>jsoup</artifactId>
<version>1.8.3</version>
</dependency>

<!-- Apache Commons IO -->
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.4</version>
</dependency>

<!-- Apache Commons Validator -->
<dependency>
<groupId>commons-validator</groupId>
<artifactId>commons-validator</artifactId>
<version>1.4.0</version>
</dependency>
</dependencies>

<build>
<plugins>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<archive>
<manifest>
<mainClass>com.example.MyApplication
</mainClass>
</manifest>
<manifestEntries>
<Built-By>BullyWiiPlaza</Built-By>
</manifestEntries>
</archive>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.3</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>

<!-- IDEA Gui Designer Plugin -->
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>ideauidesigner-maven-plugin</artifactId>
<version>1.0-beta-1</version>
<executions>
<execution>
<goals>
<goal>javac2</goal>
</goals>
</execution>
</executions>

<configuration>
<fork>true</fork>
<debug>true</debug>
<failOnError>true</failOnError>
</configuration>
</plugin>
</plugins>
</build>
</project>

怎么了?如何结合使用 MavenIntelliJ 的 GUI 设计器正确导出可执行的 JAR 文件?

最佳答案

发生这种情况是因为 Maven 并不真正知道如何编译使用 IntelliJ GUI Designer 创建的 GUI。这就是为什么您必须明确指示 IntelliJ 生成它理解的所有代码而 Maven 不理解的原因。

要执行此操作,请转至 GUI Designer设置并将 Generate GUI into 值更改为 Java Source files。从现在开始,IntelliJ 将包含所有负责在类中设置 UI 的代码,所有外部工具(如 Maven、Eclipse)将正常工作。

关于java - IntelliJ GUI Designer Maven 可执行 JAR 导出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32747917/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com