2017-04-11 6 views
0

私は2つのモジュールを持つプロジェクトに取り組んでいます.1つはクライアント操作を処理するWebモジュールで、もう1つはJavaモジュールであり、戦争はWebモジュールから作成されました。私は開発のためにIntellijを使用しています。JavaとWebモジュールを使用したプロジェクトの作成

WebServiceViewer 
     | 
     --> CoreService - java module 
     --> ClientDashboard - web module (doesn't have pom as created as web project) 

私はClientDashboardにCoreServiceの依存関係を追加しました:ここ

は、モジュールの情報です。しかし、クラスパスを出力すると、クラスパスにwarファイルが表示されません。

ここに私のpom.xmlファイルがあります。 Webプロジェクトのpom.xml:

<project xmlns="http://maven.apache.org/POM/4.0.0" 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 

    <groupId>webviewer</groupId> 
    <artifactId>service-viewer</artifactId> 
    <packaging>pom</packaging> 
    <version>1.0-SNAPSHOT</version> 

    <modules> 
     <module>ClientDashboard</module> 
     <module>CoreService</module> 
    </modules> 
</project> 

CoreServiceののpom.xml:

<project xmlns="http://maven.apache.org/POM/4.0.0" 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 
    <parent> 
     <artifactId>service-viewer</artifactId> 
     <groupId>webviewer</groupId> 
     <version>1.0-SNAPSHOT</version> 
    </parent> 
    <modelVersion>4.0.0</modelVersion> 

    <artifactId>server-handler</artifactId> 
    <packaging>pom</packaging> 

    <properties> 
     <spring.version>4.3.6.RELEASE</spring.version> 
     <spring.version.agent>2.5.6</spring.version.agent> 
    </properties> 

    <dependencies> 

     <dependency> 
      <groupId>webviewer</groupId> 
      <artifactId>client-dashboard</artifactId> 
      <version>1.0-SNAPSHOT</version> 
      <type>war</type> 
     </dependency> 

     <dependency> 
      <groupId>org.eclipse.jetty</groupId> 
      <artifactId>jetty-server</artifactId> 
      <version>9.3.6.v20151106</version> 
     </dependency> 

     <dependency> 
      <groupId>org.eclipse.jetty</groupId> 
      <artifactId>jetty-util</artifactId> 
      <version>9.3.6.v20151106</version> 
     </dependency> 

     <dependency> 
      <groupId>org.eclipse.jetty</groupId> 
      <artifactId>jetty-servlet</artifactId> 
      <version>9.3.6.v20151106</version> 
     </dependency> 

     <dependency> 
      <groupId>org.eclipse.jetty</groupId> 
      <artifactId>jetty-webapp</artifactId> 
      <version>9.3.6.v20151106</version> 
     </dependency>  
    </dependencies> 

</project> 

ClientDashboardののpom.xml:

<project xmlns="http://maven.apache.org/POM/4.0.0" 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 

    <groupId>webviewer</groupId> 
    <artifactId>client-dashboard</artifactId> 
    <version>1.0-SNAPSHOT</version> 
    <packaging>war</packaging> 

    <build> 
     <plugins> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-war-plugin</artifactId> 
       <configuration> 
        <webXml>ClientDashBoard\web\WEB-INF\web.xml</webXml> 
       </configuration> 
      </plugin> 

     </plugins> 
    </build> 
</project> 

ここでは私のJavaクラスはあります私はクラスパスを印刷するために使用しています。ウェブ戦争で桟橋を始めるために使用します。 EntryMain.java パブリッククラスEntryMainここで{

public static void main(String[] args) { 
    EntryMain entryPoint = new EntryMain(); 
    ClassLoader cl = ClassLoader.getSystemClassLoader(); 

    URL[] urls = ((URLClassLoader)cl).getURLs(); 

    for(URL url: urls){ 
     System.out.println(url.getFile()); 
    } 
} 

}

私のクラスパスの出力です:

/C:/Program%20Files/Java/jdk1.8.0_121/jre/lib/charsets.jar 
/C:/Program%20Files/Java/jdk1.8.0_121/jre/lib/deploy.jar 
/C:/Program%20Files/Java/jdk1.8.0_121/jre/lib/ext/access-bridge-64.jar 
/C:/Program%20Files/Java/jdk1.8.0_121/jre/lib/ext/cldrdata.jar 
/C:/Program%20Files/Java/jdk1.8.0_121/jre/lib/ext/dnsns.jar 
/C:/Program%20Files/Java/jdk1.8.0_121/jre/lib/ext/jaccess.jar 
/C:/Program%20Files/Java/jdk1.8.0_121/jre/lib/ext/jfxrt.jar 
/C:/Program%20Files/Java/jdk1.8.0_121/jre/lib/ext/localedata.jar 
/C:/Program%20Files/Java/jdk1.8.0_121/jre/lib/ext/nashorn.jar 
/C:/Program%20Files/Java/jdk1.8.0_121/jre/lib/ext/sunec.jar 
/C:/Program%20Files/Java/jdk1.8.0_121/jre/lib/ext/sunjce_provider.jar 
/C:/Program%20Files/Java/jdk1.8.0_121/jre/lib/ext/sunmscapi.jar 
/C:/Program%20Files/Java/jdk1.8.0_121/jre/lib/ext/sunpkcs11.jar 
/C:/Program%20Files/Java/jdk1.8.0_121/jre/lib/ext/zipfs.jar 
/C:/Program%20Files/Java/jdk1.8.0_121/jre/lib/javaws.jar 
/C:/Program%20Files/Java/jdk1.8.0_121/jre/lib/jce.jar 
/C:/Program%20Files/Java/jdk1.8.0_121/jre/lib/jfr.jar 
/C:/Program%20Files/Java/jdk1.8.0_121/jre/lib/jfxswt.jar 
/C:/Program%20Files/Java/jdk1.8.0_121/jre/lib/jsse.jar 
/C:/Program%20Files/Java/jdk1.8.0_121/jre/lib/management-agent.jar 
/C:/Program%20Files/Java/jdk1.8.0_121/jre/lib/plugin.jar 
/C:/Program%20Files/Java/jdk1.8.0_121/jre/lib/resources.jar 
/C:/Program%20Files/Java/jdk1.8.0_121/jre/lib/rt.jar 
/C:/Users/user/IdeaProjects/WebServiceViewer/CoreService/target/classes/ 
/C:/Users/user/.m2/repository/wfs-etrade/web-dash/1.0-SNAPSHOT/web-dash-1.0-SNAPSHOT.war 
/C:/Users/user/.m2/repository/org/eclipse/jetty/jetty-server/9.3.6.v20151106/jetty-server-9.3.6.v20151106.jar 
/C:/Users/user/.m2/repository/javax/servlet/javax.servlet-api/3.1.0/javax.servlet-api-3.1.0.jar 
/C:/Users/user/.m2/repository/org/eclipse/jetty/jetty-http/9.3.6.v20151106/jetty-http-9.3.6.v20151106.jar 
/C:/Users/user/.m2/repository/org/eclipse/jetty/jetty-util/9.3.6.v20151106/jetty-util-9.3.6.v20151106.jar 
/C:/Users/user/.m2/repository/org/eclipse/jetty/jetty-io/9.3.6.v20151106/jetty-io-9.3.6.v20151106.jar 
/C:/Users/user/.m2/repository/org/eclipse/jetty/jetty-servlet/9.3.6.v20151106/jetty-servlet-9.3.6.v20151106.jar 
/C:/Users/user/.m2/repository/org/eclipse/jetty/jetty-security/9.3.6.v20151106/jetty-security-9.3.6.v20151106.jar 
/C:/Users/user/.m2/repository/org/eclipse/jetty/jetty-webapp/9.3.6.v20151106/jetty-webapp-9.3.6.v20151106.jar 
/C:/Users/user/.m2/repository/org/eclipse/jetty/jetty-xml/9.3.6.v20151106/jetty-xml-9.3.6.v20151106.jar 
/C:/Users/user/.m2/repository/org/springframework/spring-core/4.3.6.RELEASE/spring-core-4.3.6.RELEASE.jar 
/C:/Users/user/.m2/repository/commons-logging/commons-logging/1.2/commons-logging-1.2.jar 
/C:/Users/user/.m2/repository/org/springframework/spring-beans/4.3.6.RELEASE/spring-beans-4.3.6.RELEASE.jar 
/C:/Users/user/.m2/repository/org/springframework/spring-context/4.3.6.RELEASE/spring-context-4.3.6.RELEASE.jar 
/C:/Users/user/.m2/repository/org/springframework/spring-aop/4.3.6.RELEASE/spring-aop-4.3.6.RELEASE.jar 
/C:/Users/user/.m2/repository/org/springframework/spring-expression/4.3.6.RELEASE/spring-expression-4.3.6.RELEASE.jar 
/C:/Program%20Files%20(x86)/JetBrains/IntelliJ%20IDEA%202016.2.2/lib/idea_rt.jar 

は、私はクラスパスに発生した戦争をもたらすために何をすべき?

答えて

0

WARファイルは決してクラスパスに配置されません。

に埋め込みJettyを使用する方法を確認する必要があります。 WARファイル。

このプロセスの一部として、Jettyは、親(または祖父母など、Jettyの仕組みに応じて)としてダンプしたSystemClassLoaderで新しい分離クラスローダーを作成します。このクラスローダは、親に委譲する前にクラスを最初に探します。

+0

お返事ありがとうございます。だから、私はこのクラスローダーに私がデプロイしたいファイルを提供する方法が必要です。私はこの方向で選択肢を探求します。 – kromastorm

+0

クラスローダーについては忘れて、Jettyがそれを動作させるようにしてください。 –

+0

はい。私は、Webモジュールから生成された戦争を埠頭の構成に渡す方法を見つけることを意味しました。 – kromastorm

関連する問題