pom.xml 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  3. xmlns="http://maven.apache.org/POM/4.0.0" xsi:schemaLocation="
  4. http://maven.apache.org/POM/4.0.0
  5. http://maven.apache.org/xsd/maven-4.0.0.xsd">
  6. <modelVersion>4.0.0</modelVersion>
  7. <groupId>cn.iocoder.boot</groupId>
  8. <artifactId>yudao-module-iot-plugin</artifactId>
  9. <version>0.0.1</version>
  10. <packaging>jar</packaging>
  11. <name>${project.artifactId}</name>
  12. <description>物联网 模块 - 插件</description>
  13. <properties>
  14. <!-- 插件相关 -->
  15. <plugin.id>iot-plugin-http</plugin.id>
  16. <plugin.class>cn.iocoder.yudao.module.iot.plugin.WelcomePlugin</plugin.class>
  17. <plugin.version>0.0.1</plugin.version>
  18. <plugin.provider>ahh</plugin.provider>
  19. <plugin.dependencies/>
  20. <!-- Maven 相关 -->
  21. <java.version>17</java.version>
  22. <maven.compiler.source>${java.version}</maven.compiler.source>
  23. <maven.compiler.target>${java.version}</maven.compiler.target>
  24. <maven-antrun-plugin.version>1.6</maven-antrun-plugin.version>
  25. <maven-assembly-plugin.version>2.3</maven-assembly-plugin.version>
  26. <maven-jar-plugin.version>2.4</maven-jar-plugin.version>
  27. <pf4j-spring.version>0.9.0</pf4j-spring.version>
  28. <!-- 看看咋放到 bom 里 -->
  29. <spring.boot.version>3.3.1</spring.boot.version>
  30. <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  31. </properties>
  32. <dependencies>
  33. <!-- 其他依赖项 -->
  34. <dependency>
  35. <groupId>org.springframework.boot</groupId>
  36. <artifactId>spring-boot-starter-web</artifactId>
  37. <version>${spring.boot.version}</version>
  38. <scope>provided</scope>
  39. </dependency>
  40. <!-- PF4J Spring 集成 -->
  41. <dependency>
  42. <groupId>org.pf4j</groupId>
  43. <artifactId>pf4j-spring</artifactId>
  44. <version>${pf4j-spring.version}</version>
  45. <scope>provided</scope>
  46. </dependency>
  47. <!-- 项目依赖 -->
  48. <dependency>
  49. <groupId>cn.iocoder.boot</groupId>
  50. <artifactId>yudao-module-iot-plugin-api</artifactId>
  51. <version>${project.version}</version>
  52. </dependency>
  53. </dependencies>
  54. <build>
  55. <plugins>
  56. <!-- DOESN'T WORK WITH MAVEN 3 (I defined the plugin metadata in properties section)
  57. <plugin>
  58. <groupId>org.codehaus.mojo</groupId>
  59. <artifactId>properties-maven-plugin</artifactId>
  60. <version>1.0-alpha-2</version>
  61. <executions>
  62. <execution>
  63. <phase>initialize</phase>
  64. <goals>
  65. <goal>read-project-properties</goal>
  66. </goals>
  67. <configuration>
  68. <files>
  69. <file>plugin.properties</file>
  70. </files>
  71. </configuration>
  72. </execution>
  73. </executions>
  74. </plugin>
  75. -->
  76. <plugin>
  77. <groupId>org.apache.maven.plugins</groupId>
  78. <artifactId>maven-antrun-plugin</artifactId>
  79. <version>${maven-antrun-plugin.version}</version>
  80. <executions>
  81. <execution>
  82. <id>unzip jar file</id>
  83. <phase>package</phase>
  84. <configuration>
  85. <target>
  86. <unzip src="target/${project.artifactId}-${project.version}.${project.packaging}" dest="target/plugin-classes" />
  87. </target>
  88. </configuration>
  89. <goals>
  90. <goal>run</goal>
  91. </goals>
  92. </execution>
  93. </executions>
  94. </plugin>
  95. <plugin>
  96. <artifactId>maven-assembly-plugin</artifactId>
  97. <version>${maven-assembly-plugin.version}</version>
  98. <configuration>
  99. <descriptors>
  100. <descriptor>
  101. src/main/assembly/assembly.xml
  102. </descriptor>
  103. </descriptors>
  104. <appendAssemblyId>false</appendAssemblyId>
  105. </configuration>
  106. <executions>
  107. <execution>
  108. <id>make-assembly</id>
  109. <phase>package</phase>
  110. <goals>
  111. <goal>attached</goal>
  112. </goals>
  113. </execution>
  114. </executions>
  115. </plugin>
  116. <plugin>
  117. <groupId>org.apache.maven.plugins</groupId>
  118. <artifactId>maven-jar-plugin</artifactId>
  119. <version>${maven-jar-plugin.version}</version>
  120. <configuration>
  121. <archive>
  122. <manifestEntries>
  123. <Plugin-Id>${plugin.id}</Plugin-Id>
  124. <Plugin-Class>${plugin.class}</Plugin-Class>
  125. <Plugin-Version>${plugin.version}</Plugin-Version>
  126. <Plugin-Provider>${plugin.provider}</Plugin-Provider>
  127. <Plugin-Dependencies>${plugin.dependencies}</Plugin-Dependencies>
  128. </manifestEntries>
  129. </archive>
  130. </configuration>
  131. </plugin>
  132. <plugin>
  133. <artifactId>maven-deploy-plugin</artifactId>
  134. <configuration>
  135. <skip>true</skip>
  136. </configuration>
  137. </plugin>
  138. </plugins>
  139. </build>
  140. </project>