eclipse 内からアプリケーションを実行すると (weld se: org.jboss.weld.environment.se.StartMain の main メソッドを使用して) 正常に動作する、weld se を使用する小さな cli アプリケーションがあります。
問題は、動作する実行可能な jar を作成できないことです。現時点では、maven-assembly-plugin を使用しています。
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<mainClass>org.jboss.weld.environment.se.StartMain</mainClass>
</manifest>
</archive>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
<executions>
<execution>
<id>make-my-jar-with-dependencies</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
また、シェードプラグインを次のように試しました:
<transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"/>
しかし、すべての場合で、同じ多くのエラーが発生します。
Nov 03, 2015 5:50:21 PM org.jboss.weld.bootstrap.MissingDependenciesRegistry handleResourceLoadingException
INFO: WELD-000119: Not generating any bean definitions from org.jboss.weld.servlet.api.helpers.ForwardingServletListener because of underlying class loading error: Type javax.servlet.ServletContextListener not found. If this is unexpected, enable DEBUG logging to see the full error.
... many of this kind with different classes
Exception in thread "main" org.jboss.weld.exceptions.DeploymentException: java.lang.InternalError: Enclosing method not found
...
Caused by: com.google.common.util.concurrent.ExecutionError: java.lang.InternalError: Enclosing method not found
...
Caused by: java.lang.InternalError: Enclosing method not found
...
その間、私も追加しようとしました
<scan>
<exclude name="org.jboss.weld.**" />
</scan>
ここで提案されているように、私の beans.xml に。変化なし...