奇怪的带有SQLlite和JavaFX初始化路径的Java空指针?(马文)

奇怪的带有SQLlite和JavaFX初始化路径的Java空指针?(马文),java,eclipse,maven,jar,javafx,Java,Eclipse,Maven,Jar,Javafx,我的项目有问题,我们还没有找到匹配的解决方案: 我们的项目是用JAVA编写的,使用JavaFX1.8和SQLlite作为数据库。我们使用maven来构建JAR。pom连接在底部。一个好的方面可能是,我们正在使用JavaFX的内部化,并且正在从SQLlite数据库获取ResourceBoundles 我们的程序在eclipse中启动时工作得很好,但从jar启动时根本不工作 只是想让您了解:因为我们需要一个DB,如果没有DB文件,我们就初始化一个。在这一步中,程序的运行提供了所有必要的检查,如检查表

我的项目有问题,我们还没有找到匹配的解决方案:

我们的项目是用JAVA编写的,使用JavaFX1.8和SQLlite作为数据库。我们使用maven来构建JAR。pom连接在底部。一个好的方面可能是,我们正在使用JavaFX的内部化,并且正在从SQLlite数据库获取ResourceBoundles

我们的程序在eclipse中启动时工作得很好,但从jar启动时根本不工作

只是想让您了解:因为我们需要一个DB,如果没有DB文件,我们就初始化一个。在这一步中,程序的运行提供了所有必要的检查,如检查表、db填充a.s.o.。它也会在.jar旁边创建db文件,但之后-当应该访问db时,我们会得到一个空指针,没有!?StackTrace

以前,我试图通过复制eclipse项目中的现有数据库和工作数据库来启动.jar。这个例程有了一些进一步的步骤,但由于我想获得实时信息,所以选择一些。。。在db中,程序以catch块结束,表示无法在db中搜索

你知道我怎么调试这个吗?或者至少我如何在eclipse中复制它

还有一些想法:有趣的是,如果我进入一个菜单,其中绘制了一个存储在db中的图形,那么一切都正常了。。。我甚至可以操纵节点的位置,重新启动程序,然后数据库就会得到它。 但是如果我想搜索一个节点,pom下的给定错误就会被抛出。 如果我改变了语言,大家都知道的空指针会再次出现

似乎它可能在语言资源方面有问题。当我想在给定的图形中添加背景图像时,我想到的另一个想法是,它可能与项目中的路径有问题,因为我们已经有了这些路径-众所周知的.getResource。pom更新

谢谢

第一次编辑:在.pom中有一个错误:在添加sqlite驱动程序的正确版本尝试后,运行情况有所改善。语言现在正在工作,但提到的空指针仍然存在。由于某些原因,我也无法导入或加载背景图像

25.07.:如果存在db文件,程序现在工作正常。但只有在eclipse中创建db文件的情况下。如果我想在没有db的情况下运行它,这意味着它应该自己创建db,它会做两件事,但是会得到所描述的空指针

在对Sysprints进行一些调试之后,我发现这似乎是语言的问题。我们正在将一个.xml文件导入到包含该语言现有字符串的.db开关中。似乎此文件未正确加载,但我不知道如何检查错误:-/

.pom:


没有stacktrace的NullPointerException?你确定这是个例外吗?我的意思是:这是你可以在你的代码中捕捉到一个你应该反省以了解其堆栈跟踪的可丢弃对象,还是仅仅是一条记录到控制台的消息?[SQLITE_ERROR]SQL错误或缺少数据库模棱两可的c列名称:map_ID:这个错误似乎足够详细,无法对其进行研究。SqlConnector.java:190执行了什么?谢谢您的回答@我试过一些东西,我马上就把它加到问题上。
    try {
        // ResourceBundle bundle = new PropertyResourceBundle(inputStream);
        // Loader to load FXML, sets the location of the choose map view
        // fxml file via parameter.
        FXMLLoader loader = new FXMLLoader();

        loader.setResources(this.mainHandler.getIOHandler().getLanguage(
                locale));
        loader.setLocation(getClass().getResource(
                ViewPathEnum.CHOOSE_MAP.getPath()));

        // container for all the Items of the choose map view.
        Pane chooseMapHBox = null;

        // loads the fxml file for the mapchoose view.
        chooseMapHBox = loader.load();
<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>pse15-group1</groupId>
  <artifactId>carp</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>jar</packaging>

  <name>carp</name>
  <url>http://maven.apache.org</url>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>

  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
    <dependency>
  <groupId>org.xerial</groupId>
  <artifactId>sqlite-jdbc</artifactId>
  <version>3.8.10.1</version>
</dependency>
  </dependencies>

    <build>
        <plugins>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.1</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                </configuration>
            </plugin>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-assembly-plugin</artifactId>
                <version>2.5.5</version>
                <configuration>
                    <descriptorRefs>
                       <descriptorRef>jar-with-dependencies</descriptorRef>
                    </descriptorRefs>
                    <archive>
                        <manifest>
                            <addClasspath>true</addClasspath>
                            <mainClass>pse15group1.carp.controller.MainController</mainClass>
                        </manifest>
                    </archive>
                </configuration>
                <executions>
                    <execution>
                        <id>assemble-all</id>
                        <phase>package</phase>
                        <goals>
                            <goal>single</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
                <configuration>
                    <archive>
                        <manifest>
                            <addClasspath>true</addClasspath>
                            <mainClass>pse15group1.carp.controller.MainController</mainClass>
                        </manifest>
                    </archive>
                </configuration>
            </plugin>

        </plugins>
    </build>
</project>
C:\....>java -jar carp-0.0.1-SNAPSHOT-jar-with-dependencies.jar
Opened database successfully
Table Map checked succesfully
Table Metrics checked succesfully
Table Node checked succesfully
Table Edge checked succesfully
Table Tag checked succesfully
Table MetricsEdge checked succesfully
Table Language checked succesfully
Table LanguageData checked succesfully
Opened database successfully
Table Map checked succesfully
Table Metrics checked succesfully
Table Node checked succesfully
Table Edge checked succesfully
Table Tag checked succesfully
Table MetricsEdge checked succesfully
Table Language checked succesfully
Table LanguageData checked succesfully
java.sql.SQLException: [SQLITE_ERROR] SQL error or missing database (ambiguous c
olumn name: map_ID)
        at org.sqlite.DB.newSQLException(DB.java:383)
        at org.sqlite.DB.newSQLException(DB.java:387)
        at org.sqlite.DB.throwex(DB.java:374)
        at org.sqlite.NativeDB.prepare(Native Method)
        at org.sqlite.DB.prepare(DB.java:123)
        at org.sqlite.Stmt.executeQuery(Stmt.java:121)
        at pse15group1.carp.model.io.SqlConnector.searchNodes(SqlConnector.java:
190)