0 課程地址
https://coding.imooc.com/lesson/201.html#mid=12746
1 重點關注
1.1 本節內容
使用dubbo內置main打包jar啓動
1.2 主要改動點
涉及父項目,common項目,service和api項目共4個,
涉及
a service的 pom文件引入build
b service的 pom文件修改打包方式爲jar包
c 上述操作完成後 右鍵service子項目,maven ->update project ->選中service子項目,點擊ok,進行pom文件依賴的jar包更新
d 右鍵父項目,run as maven install,注意:這個方法生成了api jar包,解決了昨天一直生成不了apijar包的問題
e 進入service子項目生成的target路徑下,cmd 運行 java -jar imooc-dubbo-item-service.jar
f 等待運行完成即可
- a service的 pom文件引入build
pom.xml引用以下build
--<targetPath>${project.build.directory}/classes</targetPath> 可以將資源文件打進包裏
--<targetPath>${project.build.directory}/classes/META-INF/spring</targetPath> spring-context.xml已經聚合了所有的spring相關的配置文件(可以參考上節,也可以看下spring-context.xml)
--<artifactId>lifecycle-mapping</artifactId> 可以排除運行時的一些小問題,注意,首次加載要下載
--<artifactId>maven-jar-plugin</artifactId> 打包的方式,打完包,依賴都會有
--<mainClass>com.alibaba.dubbo.container.Main</mainClass> dubbo內置容器的container進行打包
<build>
<finalName>imooc-dubbo-item-service</finalName>
<resources>
<resource>
<targetPath>${project.build.directory}/classes</targetPath>
<directory>src/main/resources</directory>
<filtering>true</filtering>
<includes>
<include>**/*.xml</include>
<include>**/*.properties</include>
</includes>
</resource>
<resource>
<targetPath>${project.build.directory}/classes/META-INF/spring</targetPath>
<directory>src/main/resources/spring</directory>
<filtering>true</filtering>
<includes>
<include>spring-context.xml</include>
</includes>
</resource>
</resources>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.eclipse.m2e</groupId>
<artifactId>lifecycle-mapping</artifactId>
<version>1.0.0</version>
<configuration>
<lifecycleMappingMetadata>
<pluginExecutions>
<pluginExecution>
<pluginExecutionFilter>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<versionRange>[2.0,)</versionRange>
<goals>
<goal>copy-dependencies</goal>
</goals>
</pluginExecutionFilter>
<action>
<ignore />
</action>
</pluginExecution>
</pluginExecutions>
</lifecycleMappingMetadata>
</configuration>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<classesDirectory>target/classes/</classesDirectory>
<archive>
<manifest>
<mainClass>com.alibaba.dubbo.container.Main</mainClass>
<useUniqueVersions>false</useUniqueVersions>
<addClasspath>true</