我已经发现了一些有用的Q & A,但问题仍然存在。我使用以下插件在我的POM文件:组装的jar将不会在同一个文件夹中找到hbase-site.xml
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.4</version>
<configuration>
<excludes>
<exclude>hbase-site.xml</exclude>
<exclude>log4j.properties</exclude>
</excludes>
</configuration>
</plugin>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.4</version>
<configuration>
<finalName>myfinalname</finalName>
<appendAssemblyId>false</appendAssemblyId>
<archive>
<manifest><mainClass>com.company.MainClass</mainClass>
</manifest>
<manifestEntries>
<Class-Path>.</Class-Path>
</manifestEntries>
</archive>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
,你可以看到,我排除的属性文件(即放在src /主/资源),并且还添加了类路径:到清单。但是,当初始化hbase时,它找不到与jar文件位于同一文件夹中的hbase-site.xml。
当我删除不包括一切正常,但我需要的文件不在生成的jar中,使他们可编辑的用户。
因为这应该工作,我想知道如果这是HBase的问题,也许HBase使用不同的装载机?
如何让HBase从位于与执行jar文件相同的目录中的文件加载配置?
编辑:
我创建可执行的JAR,当我与java -jar
运行它,也把HBase的-site.xml中到同一文件夹中的jar所在,HBase的初始化的时候,这不是” t阅读我的配置
能否请您进一步解释'初始化hbase时无法找到我的hbase-site.xml“。它是通过使用'mvn ...'还是'java -jar my_aritifact.jar'或其他来完成的? – 2013-03-28 00:46:38
我更新了问题。我用java -jar启动它,并且位于与jar相同的文件夹中的hbase-site不被读取。 – divadpoc 2013-03-28 08:20:59