将文件传递到jar中

问题描述 投票:0回答:1

我有包含此代码的jar文件

import java.io.File
import java.nio.file.Paths

import org.cassandraunit.utils.EmbeddedCassandraServerHelper

object CassandraMockBootable extends App {
  println("Running embedded Cassandra.........")
  val file = Paths.get("/target/classes/cassandra.yaml").toFile
  assert(file.exists())
  EmbeddedCassandraServerHelper.startEmbeddedCassandra(file, 50000)
}

此jar由运行Java进程的maven插件在另一个应用程序中使用

 <plugin>
        <groupId>com.bazaarvoice.maven.plugins</groupId>
        <artifactId>process-exec-maven-plugin</artifactId>
        <version>0.8</version>
        <executions>
          <execution>
            <id>Embedded-Cassandra</id>
            <phase>pre-integration-test</phase>
            <goals>
              <goal>start</goal>
            </goals>
            <configuration>
              <name>Embedded-Cassandra</name>
              <skip>${skipStartService}</skip>
              <arguments>
                <argument>java</argument>
                <argument>-XX:+HeapDumpOnOutOfMemoryError</argument>
                <argument>-Xss1M</argument>
                <argument>-XX:+UseParallelGC</argument>
                <argument>-cp</argument>
                <argument>../../mock-service/target/lib/*</argument>
                <argument>mocks.bootables.CassandraMockBootable</argument>
              </arguments>
            </configuration>
          </execution>
    </executions>
</plugin>

我不知道如何,但是我无法将cassandra.yaml传递给该过程,并且断言永远都行不通。

我试图将该文件放入src的资源中,并在生成的jar项目和使用者项目中进行测试,但是什么也没有。断言总是失败。

知道我在做什么错吗?

问候

java scala maven cassandra
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.