【发布时间】:2016-11-20 04:00:51
【问题描述】:
我使用 Intellij GUI Designer 为我的程序创建了一个简单的 gui。一切正常,但是当我构建 gradle jar 并尝试运行它时,我得到 NullPointerException (它创建了 Frame 但看不到组件)。我在配置 build.gradle 文件时遇到问题,所以我相信这可能是一个原因。
这里是 build.gradle
group 'ImgScrapper'
version '1.0-SNAPSHOT'
apply plugin: 'groovy'
apply plugin: 'java'
jar {
manifest {
sourceSets.main.java.srcDirs = ['Main/src']
attributes 'Main-Class': 'imgscrapper.Main'
}
}
sourceCompatibility = 1.5
repositories {
mavenCentral()
}
dependencies {
compile 'org.codehaus.groovy:groovy-all:2.3.11'
compile 'org.jsoup:jsoup:1.9.2'
testCompile group: 'junit', name: 'junit', version: '4.11'
}
这是目录树
.
├── build.gradle
├── gradle
│ └── wrapper
│ ├── gradle-wrapper.jar
│ └── gradle-wrapper.properties
├── gradlew
├── gradlew.bat
├── Main
│ ├── Main.iml
│ └── src
│ └── imgscrapper
│ ├── Frame.form
│ ├── Frame.java
│ ├── GetImages.java
│ └── Main.java
├── out
│ └── production
│ └── Main
│ ├── com
│ │ └── intellij
│ │ └── uiDesigner
│ │ └── core
│ └── imgscrapper
└── settings.gradle
错误信息
Exception in thread "main" java.lang.NullPointerException
at imgscrapper.Frame.<init>(Frame.java:34)
at imgscrapper.Main.main(Main.java:12)
Frame.java 文件
public class Frame extends JFrame{
private JPanel panel;
private JTextField textField1;
private JButton button1;
public JScrollPane scrollPane;
.
.
.
Frame(){
setVisible(true);
setSize(440,290);
setLocation(450,300);
setTitle("imgScrapper");
-/*-> Here's 34 line of Frame.java*/ textField1.setText("What are you looking ./r...");
comboBox1.setSelectedIndex(1);
comboBox2.setSelectedIndex(0);
你能帮我解决这个问题吗?谢谢
【问题讨论】:
-
你能发布完整的例外吗?我怀疑您可能需要在依赖项中引用 intellij UI 设计器库。
-
您能否编辑您的问题以包括:1) 完整的异常描述,以及 2) 包含导致错误的代码行的函数。
-
@wakjah 好的,做到了
-
你在任何地方初始化 textField1 吗?像 textField1 = new JTextField(); ?
标签: java intellij-idea gradle build.gradle