结构是
+ parent
+ import
+ web
+ backend
我的父模块将包括微服务的种类,我想从我的父管理什么(依赖什么都使用)等等。在导入/后端有我的批处理业务逻辑,在web中有一个mvc应用程序,从那里我可以开始批处理工作。
在Eclipse中,对我来说一切都很好,我可以从application.java文件启动应用程序,然后应用程序工作。
java -jar application.jar
Kein Hauptmanifestattribut in application.jar
<project>
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>at.company.bbsng</groupId>
<artifactId>bbsng-import</artifactId>
<version>0.1.0-SNAPSHOT</version>
</parent>
<artifactId>bbsng-import-web</artifactId>
<name>bbsng-import-web</name>
<packaging>jar</packaging>
<properties>
<start-class>at.company.bbsng.dataimport.Application</start-class>
</properties>
<dependencies>
<!-- APPLICATION -->
<dependency>
<groupId>at.company.bbsng</groupId>
<artifactId>bbsng-import-backend</artifactId>
<version>${parent.version}</version>
</dependency>
<!-- SPRING ... -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<exclusion>
<artifactId>spring-boot-starter-logging</artifactId>
<groupId>org.springframework.boot</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-log4j</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
...
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
<project>
<parent>
<groupId>at.company.bbsng</groupId>
<artifactId>bbsng</artifactId>
<version>0.1.0-SNAPSHOT</version>
</parent>
<artifactId>bbsng-import</artifactId>
<name>bbsng-import</name>
<packaging>pom</packaging>
<modules>
<module>backend</module>
<module>web</module>
</modules>
</project>
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>at.company.bbsng</groupId>
<artifactId>bbsng</artifactId>
<version>0.1.0-SNAPSHOT</version>
<packaging>pom</packaging>
<name>bbsng</name>
<description>BBS Next Generation Application Prototype</description>
<properties>
<java-version>1.8</java-version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<org.springframework.boot-version>1.1.7.RELEASE</org.springframework.boot-version>
</properties>
<modules>
<!-- <module>backend</module> -->
<!-- <module>business</module> -->
<module>import</module>
<!-- <module>infra</module> -->
<!-- <module>log</module> -->
<!-- <module>rest</module> -->
</modules>
<dependencyManagement>
<dependencies>
<!-- SPRING-BOOT ... -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<type>pom</type>
<version>${org.springframework.boot-version}</version>
<scope>import</scope>
</dependency>
<!-- JAVAX ... -->
<dependency>
<groupId>javax.validation</groupId>
<artifactId>validation-api</artifactId>
<version>1.1.0.Final</version>
</dependency>
<!-- COMMONS ... -->
...
</dependencies>
</dependencyManagement>
<build>
<plugins>
<plugin>
<artifactId>maven-release-plugin</artifactId>
<version>2.5</version>
<configuration>
<tagBase>
svn://svn.int.company.at/stmlf-repository/prototype/bbsng/tags
</tagBase>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>${java-version}</source>
<target>${java-version}</target>
</configuration>
</plugin>
</plugins>
</build>
<profiles>
<profile>
<id>external</id>
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<excludes>
<exclude>**/*custom*</exclude>
<exclude>**/custom/*</exclude>
</excludes>
</resource>
</resources>
</build>
</profile>
</profiles>
</project>
如果您需要进一步的信息,请询问。希望你能帮助我。
非常感谢。
最后我找到了解决办法。magic关键字是重新打包的,请参见链接http://docs.spring.io/spring-boot/docs/1.1.7.release/maven-plugin/usage.html
因此,我只需要在配置了repackage goal的web模块中使用spring-boot-maven-plugin:
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
然后所有依赖项都打包在可执行的jar文件中,并且可以从控制台启动。
我有一个多模块maven项目。它的设置是正确的,因为当我运行maven clean install时,它成功地构建了所有模块。Webapp包含我需要在web服务中具备的通用功能,因此我将其作为maven依赖项包含在web服务中。 MavenReactor摘要: Eclipse甚至会将webapp项目到web服务的部署程序集。
问题内容: 伙计们,我的模块中有很多python代码,这些模块位于多个python软件包中,现在我需要创建一个包含所有这些文件的python可执行模块或文件,因此它将在Windows和Linux服务器上运行。有哪些可能的解决方案,以及如何解决? 问题答案: 这就是鸡蛋文件的用途。请阅读以下内容:将python库/应用程序打包为.egg文件有什么好处?
我有一个多模块Maven/Spring Boot(v2.3.3)应用程序,实现如下: 项目和应用程序运行良好,没什么大不了的。“my-api”模块有一个像往常一样运行API的主Spring boot应用程序类。 问题是,最近我添加了“my db”模块来实现MongoDB迁移,以自动化CI部署。“my db”模块还有另一个主要的spring boot应用程序类,这是一个运行迁移过程的独立应用程序,我
我有一个简单的Maven项目,看起来像这个项目视图 有一个主要的pom。xml如下所示: 有两个模块-核心和测试。核心模块pom.xml: 测试模块pom。xml 我想使用核心内部测试的代码。这种依赖性看起来是正确的。该项目已生成,没有错误: 但是,当我在测试中尝试从core导入一个类时,找不到该类。
本文向大家介绍定位和执行Python模块(运行),包括了定位和执行Python模块(运行)的使用技巧和注意事项,需要的朋友参考一下 命令行选项的–m选项搜索给定的模块并将其作为__main__模块执行。Python标准模块中的runpy模块在内部支持此机制,该脚本允许使用Python模块命名空间而不是文件系统来定位脚本。 该模块定义了两个功能 run_module() 该函数执行指定模块的代码,并
现在反应堆的建造顺序是 另外module2依赖于module1和module3依赖于module2,现在为了解释依赖关系,我使用${project.version}指定module2 pom中的module1版本,类似地,我使用module3 pom中的${project.version}引用module2。现在快照作业成功执行,但是当我尝试使用聚合器pom(它是所有模块的父pom)释放所有模块时