中間件 ZK分佈式專題與Dubbo微服務入門 8-8 使用dubbo內置main打包jar啓動

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</
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章