我在Eclipse Neon中有以下Maven项目设置(4.6.1) 运行Java 1.8.0_121,并使用Java FX。
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
<dependency>
<groupId>commons-cli</groupId>
<artifactId>commons-cli</artifactId>
<version>1.3.1</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
<dependency>
<groupId>fr.jcgay.log4j</groupId>
<artifactId>log4j-color</artifactId>
<version>1.0</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>apache-log4j-extras</artifactId>
<version>1.2.17</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.5</version>
</dependency>
</dependencies>
我有一个非常基本的GUI,我用这段代码运行:
@Override
public void start(Stage primaryStage) throws Exception {
this.primaryStage = primaryStage;
FXMLLoader loader = new FXMLLoader(getClass().getResource("/GUI.fxml"));
rootLayout = (BorderPane) loader.load();
Scene scene = new Scene(rootLayout);
primaryStage.setScene(scene);
primaryStage.show();
}
这很好用。
但是只要我在Maven中添加这个依赖项:
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>3.15</version>
</dependency>
程序无法启动。 我在控制台中没有出现任何错误,只是说在Eclipse中终止。
我能够使用不同的Java 1.8版本进行复制,并且能够在经过多次试验和错误之后确定冲突的依赖关系Poi-Ooxml。 我也尝试了不同的Poi-Ooxml版本,但同样的问题。
为什么JavaFX和Poi-Ooxml之间存在冲突?我该如何解决?
感谢您的帮助。
编辑: 这是fxml:
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.scene.control.*?>
<?import java.lang.*?>
<?import javafx.scene.layout.*?>
<?import javafx.scene.layout.BorderPane?>
<BorderPane fx:id="p_main" prefHeight="489.0" prefWidth="793.0" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1" fx:controller="projectname.Controler">
<center>
<Pane prefHeight="200.0" prefWidth="1095.0">
<children>
<TextField fx:id="t_url" layoutX="105.0" layoutY="106.0" prefHeight="25.0" prefWidth="402.0" promptText="" text="" />
<TextField fx:id="t_user" layoutX="105.0" layoutY="147.0" prefHeight="25.0" prefWidth="272.0" promptText="UserName" text="" />
<PasswordField fx:id="t_pwd" layoutX="105.0" layoutY="187.0" prefHeight="25.0" prefWidth="272.0" promptText="Password" text="" />
<TextField fx:id="t_file" disable="true" editable="false" layoutX="105.0" layoutY="232.0" prefHeight="25.0" prefWidth="404.0" promptText="File saved to ..." />
<Button fx:id="b_export" layoutX="387.0" layoutY="147.0" onAction="#handleSubmitButtonAction" prefHeight="63.0" prefWidth="120.0" text="Export" />
</children>
</Pane>
</center>
</BorderPane>