JavaFX与Poi-Ooxml maven依赖项冲突

时间:2017-02-05 13:36:02

标签: java eclipse maven javafx apache-poi

我在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>

0 个答案:

没有答案