加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 用runnable jar运行akka

发布时间:2020-12-15 04:25:36 所属栏目:Java 来源:网络整理
导读:我正在尝试使用NetBeans在 java maven项目中实现akka.当我从NetBeans运行它时运行正常,但是当我从NetBeans运行runnable jar时,它会生成错误. Exception in thread "main" com.typesafe.config.ConfigException$Missing: No configuration setting found for
我正在尝试使用NetBeans在 java maven项目中实现akka.当我从NetBeans运行它时运行正常,但是当我从NetBeans运行runnable jar时,它会生成错误.

Exception in thread "main" com.typesafe.config.ConfigException$Missing: No configuration setting found for key 'akka.remote.log-received-messages'

当我在配置中添加log-received-message时,它会要求另一个配置.这是我用来生成jar文件的插件.

<plugin>
        <artifactId>maven-assembly-plugin</artifactId>
</plugin>

我的依赖是

<dependency>
        <groupId>com.typesafe.akka</groupId> 
        <artifactId>akka-actor_2.10</artifactId> 
        <version>2.3.7</version> 
    </dependency>
    <dependency>
        <groupId>com.typesafe.akka</groupId>
        <artifactId>akka-remote_2.10</artifactId>
        <version>2.3.7</version>
    </dependency>

akka的配置是

akka10300{
akka{
    actor{provider = "akka.remote.RemoteActorRefProvider"}
    remote {
    enabled-transports = ["akka.remote.netty.tcp"]
        netty.tcp {
            hostname="127.0.0.1"
            port=10300
        }
    }
}
}

解决方法

有关于在 http://doc.akka.io/docs/akka/snapshot/general/configuration.html从“胖罐”运行Akka的警告.问题是有多个reference.conf配置文件,Maven程序集或树荫插件的默认行为是覆盖配置文件的早期实例以后的例子.

为了解决这个问题,建议的方法是使用Maven shade插件生成可执行jar并将其配置为将所有resource.conf文件附加到单个文件中而不是覆盖.建议的Maven shade插件配置如下所示:

<plugin>
 <groupId>org.apache.maven.plugins</groupId>
 <artifactId>maven-shade-plugin</artifactId>
 <version>1.5</version>
 <executions>
  <execution>
   <phase>package</phase>
   <goals>
    <goal>shade</goal>
   </goals>
   <configuration>
    <shadedArtifactAttached>true</shadedArtifactAttached>
    <shadedClassifierName>allinone</shadedClassifierName>
    <artifactSet>
     <includes>
      <include>*:*</include>
     </includes>
    </artifactSet>
    <transformers>
      <transformer
       implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
       <resource>reference.conf</resource>
      </transformer>
      <transformer
       implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
       <manifestEntries>
        <Main-Class>akka.Main</Main-Class>
       </manifestEntries>
      </transformer>
    </transformers>
   </configuration>
  </execution>
 </executions>
</plugin>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读