Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/393.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用maven属性插件读取数据库信息_Java_Maven_Intellij Idea - Fatal编程技术网

Java 使用maven属性插件读取数据库信息

Java 使用maven属性插件读取数据库信息,java,maven,intellij-idea,Java,Maven,Intellij Idea,我试图读取数据库属性文件来初始化我的数据库,我使用的是maven。因此,我在pom.xml中指定了以下插件: <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>properties-maven-plugin</artifactId> <version>1.0-alpha-1</version>

我试图读取数据库属性文件来初始化我的数据库,我使用的是maven。因此,我在pom.xml中指定了以下插件:

     <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>properties-maven-plugin</artifactId>
        <version>1.0-alpha-1</version>
        <executions>
          <execution>
            <phase>initialize</phase>
            <goals>
              <goal>read-project-properties</goal>
            </goals>
            <configuration>
              <files>
                <file>${basedir}/src/resources/database.properties</file>
                <file>${basedir}/src/resources/databaseTest.properties</file>
              </files>
            </configuration>
          </execution>
        </executions>
      </plugin>
这在IntelliJ中可以正常工作,但当我在maven中打包并运行它时,会出现以下错误:

线程“AWT-EventQueue-0”java.lang.RuntimeException中的异常: 加载数据库配置文件时出错


我想你可能误解了Maven属性插件的要点,我相信这里没有必要,但稍后会详细介绍

通过您发布的一点信息,我可以猜测它为什么不加载属性文件

捕获的
IOException
很可能是
FileNotFoundException
。看起来您已将属性文件放置在
src/resources
中,但根据,它们应该位于
src/main/resources

将属性文件移到那里,它们现在应该正确地位于类路径上。此外,可能有一种更干净的方法来检索属性:

dbProperties.load(DatabaseSetting.class.getResourceAsStream(dbPropertiesName));
Maven属性插件


因为,看起来您只是试图从文件加载属性以在运行时使用,所以这里不需要Maven属性插件。按照配置,这个插件只会将属性加载到Maven构建上下文中,但它对在程序中加载属性没有任何帮助。您可以安全地从pom中删除插件声明。

e
对象
IOException
中的消息是什么?谢谢,我相信它现在已经修复了。我想我没有注意到maven默认资源必须在src/main/resources中。
dbProperties.load(DatabaseSetting.class.getResourceAsStream(dbPropertiesName));