Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
具有多个模块的IntelliJ和Maven着色器插件_Maven_Pom.xml - Fatal编程技术网

具有多个模块的IntelliJ和Maven着色器插件

具有多个模块的IntelliJ和Maven着色器插件,maven,pom.xml,Maven,Pom.xml,我正在尝试用maven着色器插件构建一个胖罐子。我会在修复maven和破坏IntelliJ build,以及viceversa方面做一些周旋 我的项目如下(我省略了包含着色器插件的插件部分): 模块a-主项目模块,包含主类 模块b-模块,由A使用 模块-c-模块,由A使用 模块A pom: http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 <groupId>com.my</groupId> <a

我正在尝试用maven着色器插件构建一个胖罐子。我会在修复maven和破坏IntelliJ build,以及viceversa方面做一些周旋

我的项目如下(我省略了包含着色器插件的插件部分):

  • 模块a-主项目模块,包含主类
  • 模块b-模块,由A使用
  • 模块-c-模块,由A使用
  • 模块A pom:

    http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0

        <groupId>com.my</groupId>
        <artifactId>module-a</artifactId>
        <version>1.0-SNAPSHOT</version>
        <packaging>pom</packaging>
    
        <modules>
            <module>../module-b</module>
            <module>../module-c</module>
        </modules>
    
        <dependencies>
            <dependency>
                <groupId>com.my</groupId>
                <artifactId>module-b</artifactId>
                <version>1.0-SNAPSHOT</version>
            </dependency>
    
            <dependency>
                <groupId>com.my</groupId>
                <artifactId>module-c</artifactId>
                <version>1.0-SNAPSHOT</version>
            </dependency>
    
            <dependency>
                <groupId>org.clapper</groupId>
                <artifactId>grizzled-slf4j_2.11</artifactId>
                <version>1.0.2</version>
            </dependency>
    
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-api</artifactId>
                <version>1.7.7</version>
            </dependency>
    
            <dependency>
                <groupId>com.typesafe.akka</groupId>
                <artifactId>akka-http-experimental_2.11</artifactId>
                <version>2.0.3</version>
            </dependency>
    
            <dependency>
                <groupId>com.typesafe.akka</groupId>
                <artifactId>akka-http-core-experimental_2.11</artifactId>
                <version>2.0.3</version>
            </dependency>
    
            <dependency>
                <groupId>com.typesafe.akka</groupId>
                <artifactId>akka-stream-experimental_2.11</artifactId>
                <version>2.0.3</version>
            </dependency>
    
            <dependency>
                <groupId>net.ceedubs</groupId>
                <artifactId>ficus_2.11</artifactId>
                <version>1.1.2</version>
            </dependency>
    
            <dependency>
                <groupId>com.typesafe</groupId>
                <artifactId>config</artifactId>
                <version>1.3.0</version>
            </dependency>
    
            <dependency>
                <groupId>ch.qos.logback</groupId>
                <artifactId>logback-classic</artifactId>
                <version>1.1.3</version>
            </dependency>
    
            <dependency>
                <groupId>com.typesafe.akka</groupId>
                <artifactId>akka-actor_2.11</artifactId>
                <version>2.4.1</version>
            </dependency>
        </dependencies>
    
        <build>
            <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>2.3.2</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                </configuration>
            </plugin>
    
            <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>com.my.Service</Main-Class>
                                    </manifestEntries>
                                </transformer>
                            </transformers>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
    
            </plugins>
        </build>
    
    </project>
    
    com.my
    模块a
    1.0-快照
    聚甲醛
    ../module-b
    ../c模块
    com.my
    模块b
    1.0-快照
    com.my
    模块c
    1.0-快照
    org.clapper
    灰色-slf4j_2.11
    1.0.2
    org.slf4j
    slf4j api
    1.7.7
    com.typesafe.akka
    akka-http-U 2.11
    2.0.3
    com.typesafe.akka
    akka-http-core-2.11
    2.0.3
    com.typesafe.akka
    akka-stream-experimental_2.11
    2.0.3
    net.ceedubs
    榕树2.11
    1.1.2
    com.typesafe
    配置
    1.3.0
    回写
    回归经典
    1.1.3
    com.typesafe.akka
    akka-actor_2.11
    2.4.1
    org.apache.maven.plugins
    maven编译器插件
    2.3.2
    1.8
    1.8
    org.apache.maven.plugins
    maven阴影插件
    1.5
    包裹
    阴凉处
    真的
    蒜酮
    *:*
    reference.conf
    我的服务
    
    模块B和C POM类似(模块名称除外)

    
    4.0.0
    com.my
    模块b
    1.0-快照
    聚甲醛
    com.typesafe.akka
    akka-actor_2.11
    2.4.1
    org.apache.maven.plugins
    maven编译器插件
    2.3.2
    1.8
    1.8
    
    所有模块都在同一级别的同一目录中。虽然我可以通过IntelliJ很好地构建模块,但我不能通过maven构建模块-a,因为它找不到模块-b和-c。因此,一般来说,我不能构建任何引用本地项目的内容,因为maven找不到它们。无论我是在IDE中还是从命令行中尝试,都没有关系。

    建筑模块a我得到:

    [错误]无法对项目模块a执行目标:无法解析 projectcom.my:module-a:pom:1.0-SNAPSHOT的依赖项 无法解析以下工件: com.my:module-b:jar:1.0-SNAPSHOT,com.my:module-c:jar:1.0-SNAPSHOT: 找不到工件com.my:module-c:jar:1.0-SNAPSHOT->[帮助1]

    我意识到我可能搞砸了这些pom,试图处理依赖项与模块引用,但是在pom文件中引用本地模块的正确方法是什么,而不必在存储库中安装模块

    我读到我应该创建一个第四个父项目,该项目将module-a作为父项目,并使用该项目创建着色jar,但即使使用这种方法,我也无法让它在同一个项目中定位模块,它只解析repo模块

        <packaging>pom</packaging>
        <modules>
            <module>../module-b</module>
            <module>../module-c</module>
        </modules> 
    

    考虑到所有模块在层次结构上都是相互独立的。

    在依赖项列表中似乎有依赖于自身的模块A。看看模块A的pom中第一个依赖项的artifactId——它是“模块A”。我认为它应该是“模块c”“?是的,你是对的,我在简化发帖时把它搞砸了。我更正了帖子,谢谢。谢谢。因此,如果我读得正确,只需将块添加到模块-b和-c就可以了?不幸的是,我遗漏了一些东西,因为我最终得到了一个循环引用。我完全不明白。此消息重复两次(以交换的模块顺序):反应器中的项目包含一个循环引用:位于“Vertex{label='com.my:project-c:1.0-SNAPSHOT'}”和“Vertex{label='com.my:project-b:1.0-SNAPSHOT'}”之间的边'引入循环图com.my:project-b:1.0-SNAPSHOT-->com.my:project-c:1.0-SNAPSHOT-->com.my:project-b:1.0-SNAPSHOT->[Help 1]您是否可以使用问题中每个模块的完整pom进行更新,而不添加同样破坏IDE构建的父块。谢谢你的帮助!我没有让你做到这一点,添加
    parent
    是否会导致构建失败?此外,
    mvn clean install
    在您的
    项目上返回了什么错误?修改答案后,您也可以尝试另一种方法是的,添加父级会导致my(maven)构建失败,并出现循环冗余错误,并导致奇怪的intellij错误。不会太担心intellij错误,只想让它得到它
    
        <packaging>pom</packaging>
        <modules>
            <module>../module-b</module>
            <module>../module-c</module>
        </modules> 
    
        <parent>
            <groupId>com.my</groupId>
            <artifactId>module-a</artifactId>
            <version>1.0-SNAPSHOT</version>
        </parent>
    
    <modules>
            <module>../module-b</module>
            <module>../module-c</module>
        </modules>