Plugin.xml -> Manifest.mf

本文介绍了Eclipse从3.0版本开始采用OSGi规范进行插件动态加载与卸载的过程,强调了从plugin.xml文件到manifest.mf文件的转换方法,以及Eclipse自带工具在这一过程中的辅助作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

       为了更好的实现动态加载/卸载插件,Eclipse从3.0开始实现OSGI规范,原先在plugin.xml文件里定义的很多内容都被推荐放在manifest.mf文件里,只有<extension>和<extension-point>是例外。下面是两种文件格式中各元素的对照表:

plugin.xml tag/attribute
manifest.mf header
<plugin id=>
Bundle-SymbolicName
<plugin version=>
Bundle-Version
<plugin name=>
Bundle-Name
<plugin provider=>
Bundle-Vendor
<plugin class=>
Bundle-Activator
<fragment plugin-id=>
Fragment-Host
<fragment plugin-version=>
Fragment-Host: <id>; bundle-version=
<requires>, <import>
Require-Bundle
<runtime>, <library>
Bundle-ClassPath

具体的转换方法在http://dev.eclipse.org/viewcvs/viewvc.cgi/platform-core-home/runtime/adoption.html?view=co可以看到,也就是说,我们在Eclipse 3.0以上版本中开发插件的时候,最好使用manifest.mf文件的方式(实际上Eclipse自带的Plugin Manifest Editor在这方面已经帮我们做了不少工作,新版本的Eclipse在创建新项目时会自动把可以放在manifest.mf文件中的内容转移过去)。


原文地址:http://www.cnblogs.com/bjzhanghao/archive/2005/05/28/164317.html

<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.gdsc.bio</groupId> <artifactId>bio-backend-service</artifactId> <version>1.1.39</version> <!-- 定义profile --> <profiles> <!-- 开发环境 --> <profile> <id>dev</id> <properties> <!-- 定义profileActive属性 --> <profileActive>dev</profileActive> </properties> <activation> <activeByDefault>true</activeByDefault> </activation> </profile> <!-- 测试环境 --> <profile> <id>test</id> <properties> <profileActive>test</profileActive> </properties> </profile> <!-- 生产环境 --> <profile> <id>prod</id> <properties> <profileActive>release</profileActive> </properties> </profile> </profiles> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.1.3.RELEASE</version> <relativePath/> </parent> <dependencies> <!--okhttp--> <dependency> <groupId>com.squareup.okhttp3</groupId> <artifactId>okhttp</artifactId> <version>3.14.9</version> </dependency> <!--test--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> </dependency> <dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> <version>5.0.7</version> </dependency> <!--rabbitmq消息队列--> <!--rabbitmq--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-amqp</artifactId> <exclusions> <exclusion> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-logging</artifactId> </exclusion> </exclusions> </dependency> <!-- Lombok --> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> </dependency> <!--集成springmvc框架并实现自动配置 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <!-- 排除log4j --> <exclusions> <exclusion> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-to-slf4j</artifactId> </exclusion> <exclusion> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> </exclusion> <exclusion> <groupId>ch.qos.logback</groupId> <artifactId>logback-core</artifactId> </exclusion> </exclusions> </dependency> <!-- 使用最新的logback --> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> <version>1.2.10</version> </dependency> <dependency> <groupId>com.gdsc</groupId> <artifactId>scadp-core</artifactId> <version>2.48-SNAPSHOT</version> <!--排除自带的poi--> <exclusions> <exclusion> <groupId>org.apache.poi</groupId> <artifactId>*</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-orm</artifactId> <version>3.2.5.RELEASE</version> </dependency> <!-- https://mvnrepository.com/artifact/commons-digester/commons-digester --> <dependency> <groupId>commons-digester</groupId> <artifactId>commons-digester</artifactId> <version>1.6</version> <exclusions> <exclusion> <artifactId>commons-beanutils</artifactId> <groupId>commons-beanutils</groupId> </exclusion> </exclusions> </dependency> <!-- https://mvnrepository.com/artifact/commons-collections/commons-collections --> <dependency> <groupId>commons-collections</groupId> <artifactId>commons-collections</artifactId> <version>3.2.1</version> </dependency> <!-- https://mvnrepository.com/artifact/commons-beanutils/commons-beanutils --> <dependency> <groupId>commons-beanutils</groupId> <artifactId>commons-beanutils</artifactId> <version>1.8.3</version> </dependency> <!-- https://mvnrepository.com/artifact/org.codehaus.groovy/groovy-all --> <dependency> <groupId>org.codehaus.groovy</groupId> <artifactId>groovy-all</artifactId> <version>2.4.12</version> </dependency> <!-- https://mvnrepository.com/artifact/com.lowagie/itext --> <dependency> <groupId>com.lowagie</groupId> <artifactId>itext</artifactId> <version>2.1.7</version> </dependency> <!-- https://mvnrepository.com/artifact/com.lowagie/itextasian --> <dependency> <groupId>com.lowagie</groupId> <artifactId>itextasian</artifactId> <version>1.5.2</version> </dependency> <dependency> <groupId>org.jbarcode</groupId> <artifactId>jbarcode</artifactId> <version>0.2.8</version> </dependency> <dependency> <groupId>com.belerweb</groupId> <artifactId>pinyin4j</artifactId> <version>2.5.0</version> </dependency> <dependency> <groupId>org.freemarker</groupId> <artifactId>freemarker</artifactId> <version>2.3.30</version> </dependency> <dependency> <groupId>com.qrcode</groupId> <artifactId>qrcode</artifactId> <version>1.0</version> </dependency> <dependency> <groupId>com.lowagie</groupId> <artifactId>itext-rtf</artifactId> <version>2.1.7</version> </dependency> <!-- Swagger API文档 --> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.9.2</version> </dependency> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger-ui</artifactId> <version>2.9.2</version> </dependency> <dependency> <groupId>com.github.xiaoymin</groupId> <artifactId>swagger-bootstrap-ui</artifactId> <version>1.9.3</version> </dependency> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-bean-validators</artifactId> <version>2.9.2</version> </dependency> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-jexl</artifactId> <version>2.0</version> </dependency> <!-- nacos --> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> <version>2.1.0.RELEASE</version> </dependency> <!-- 如果走配置中心需要添加此依赖--> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId> <version>2.1.0.RELEASE</version> </dependency> <!--<!– https://mvnrepository.com/artifact/com.jfinal/jfinal –>--> <!--<dependency>--> <!--<groupId>com.jfinal</groupId>--> <!--<artifactId>jfinal</artifactId>--> <!--<version>3.4</version>--> <!--</dependency>--> <!--<!– https://mvnrepository.com/artifact/log4j/log4j –>--> <!--<dependency>--> <!--<groupId>log4j</groupId>--> <!--<artifactId>log4j</artifactId>--> <!--<version>1.2.17</version>--> <!--</dependency>--> <!--<dependency>--> <!--<groupId>org.slf4j</groupId>--> <!--<artifactId>slf4j-api</artifactId>--> <!--<version>1.7.25</version>--> <!--</dependency>--> <!--<!– https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api –>--> <!--<dependency>--> <!--<groupId>javax.servlet</groupId>--> <!--<artifactId>javax.servlet-api</artifactId>--> <!--<version>3.1.0</version>--> <!--<scope>provided</scope>--> <!--</dependency>--> <!-- scadp-service-api --> <!-- <dependency>--> <!-- <groupId>com.gdsc</groupId>--> <!-- <artifactId>scadp-service-api</artifactId>--> <!-- <version>1.0.2-SNAPSHOT</version>--> <!-- </dependency>--> <!-- xxl-job-core --> <dependency> <groupId>com.xuxueli</groupId> <artifactId>xxl-job-core</artifactId> <version>2.3.0</version> </dependency> <dependency> <groupId>net.sf.jxls</groupId> <artifactId>jxls-core</artifactId> <version>1.0.1</version> <!--排除自带的poi--> <exclusions> <exclusion> <groupId>org.apache.poi</groupId> <artifactId>*</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.17</version> </dependency> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>3.17</version> </dependency> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-jexl3</artifactId> <version>3.1</version> </dependency> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>4.1.2</version> </dependency> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>4.1.2</version> </dependency> <dependency> <groupId>com.alibaba</groupId> <artifactId>easyexcel</artifactId> <version>4.0.3</version> <!--排除自带的poi--> <!-- <exclusions>--> <!-- <exclusion>--> <!-- <groupId>org.apache.poi</groupId>--> <!-- <artifactId>*</artifactId>--> <!-- </exclusion>--> <!-- </exclusions>--> </dependency> <!-- 日志 --> <!-- logback-classic --> <!-- <dependency>--> <!-- <groupId>ch.qos.logback</groupId>--> <!-- <artifactId>logback-classic</artifactId>--> <!-- </dependency>--> <!-- skywalking的logback依赖 --> <dependency> <groupId>org.apache.skywalking</groupId> <artifactId>apm-toolkit-logback-1.x</artifactId> <version>8.7.0</version> </dependency> <!--与logstash对应的日志收集依赖--> <dependency> <groupId>net.logstash.logback</groupId> <artifactId>logstash-logback-encoder</artifactId> <version>4.10</version> </dependency> </dependencies> <build> <finalName>${project.name}-${project.version}-${profileActive}</finalName> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-shade-plugin</artifactId> <version>3.3.0</version> <executions> <execution> <phase>package</phase> <goals> <goal>shade</goal> </goals> <configuration> <artifactSet> <includes> <include>net.sf.jxls:jxls-core</include> <include>org.apache.poi:poi</include> <include>org.apache.poi:poi-ooxml</include> </includes> </artifactSet> <relocations> <relocation> <pattern>org.apache.poi</pattern> <shadedPattern>shaded.jxls.poi</shadedPattern> </relocation> </relocations> <transformers> <!-- 1. 处理 Manifest 文件 --> <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer"/> <!-- 2. 合并 Service Loader 文件 --> <transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"/> <!-- 3. 合并其他资源文件(如 spring.handlers) --> <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> <resource>META-INF/spring.handlers</resource> </transformer> </transformers> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> <!--<plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> 指定JDK编译版本 --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.8</source> <target>1.8</target> <encoding>UTF-8</encoding> </configuration> </plugin> <!-- 打包跳过测试 --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <configuration> <skipTests>true</skipTests> </configuration> </plugin> <!-- 避免font文件的二进制文件格式压缩破坏 --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-resources-plugin</artifactId> <configuration> <nonFilteredFileExtensions> <nonFilteredFileExtension>jasper</nonFilteredFileExtension> <nonFilteredFileExtension>jrxml</nonFilteredFileExtension> <nonFilteredFileExtension>xls</nonFilteredFileExtension> <nonFilteredFileExtension>xlsx</nonFilteredFileExtension> <nonFilteredFileExtension>ftl</nonFilteredFileExtension> <nonFilteredFileExtension>doc</nonFilteredFileExtension> <nonFilteredFileExtension>docx</nonFilteredFileExtension> <nonFilteredFileExtension>woff</nonFilteredFileExtension> <nonFilteredFileExtension>woff2</nonFilteredFileExtension> <nonFilteredFileExtension>eot</nonFilteredFileExtension> <nonFilteredFileExtension>ttf</nonFilteredFileExtension> <nonFilteredFileExtension>svg</nonFilteredFileExtension> </nonFilteredFileExtensions> </configuration> </plugin> </plugins> <resources> <resource> <directory>src/main/java</directory> <includes> <include>**/*.xls</include> <include>**/*.xlsx</include> <include>**/*.xml</include> <include>**/*.json</include> <include>**/*.ftl</include> </includes> </resource> <!--<resource> <directory>src/main/resources/template</directory> </resource> <resource> <directory>src/main/resources/watermark</directory> </resource> <resource> <directory>src/main/resources/additional</directory> </resource>--> <resource> <directory>src/main/resources</directory> <filtering>true</filtering> <excludes> <exclude>**/*.xls</exclude> <exclude>**/*.xlsx</exclude> </excludes> </resource> <resource> <directory>src/main/resources</directory> <filtering>false</filtering> <includes> <include>**/*.xml</include> <include>**/*.xls</include> <include>**/*.xlsx</include> <include>**/*.jasper</include> <include>**/*.jrxml</include> </includes> </resource> </resources> </build> </project> Cannot find 'resource' in class org.apache.maven.plugins.shade.resource.ManifestResourceTransformer
06-18
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <!-- 父依赖:Spring Boot 3.3.1 --> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>3.3.1</version> <relativePath/> <!-- 从仓库获取父依赖 --> </parent> <!-- 项目基本信息 --> <groupId>com.example</groupId> <artifactId>main</artifactId> <version>0.0.1</version> <name>main</name> <description>为Spring Cloud Alibaba升级铺垫的主服务</description> <!-- 版本管理(统一控制依赖版本,避免冲突) --> <properties> <java.version>17</java.version> <encoding>UTF-8</encoding> <project.build.sourceEncoding>${encoding}</project.build.sourceEncoding> <project.reporting.outputEncoding>${encoding}</project.reporting.outputEncoding> <maven.compiler.encoding>${encoding}</maven.compiler.encoding> <!-- Spring Cloud Alibaba 版本(适配Spring Boot 3.3.x) --> <spring-cloud-alibaba.version>2023.0.1.0</spring-cloud-alibaba.version> <!-- Spring Cloud 版本(与Alibaba配套) --> <spring-cloud.version>2023.0.2</spring-cloud.version> <!-- 第三方工具版本 --> <mybatis-plus.version>3.5.7</mybatis-plus.version> <fastjson2.version>2.0.52</fastjson2.version> <modelmapper.version>3.2.1</modelmapper.version> <jjwt.version>0.11.5</jjwt.version> <redisson.version>3.50.0</redisson.version> <hutool.version>5.8.32</hutool.version> <!-- 统一hutool版本 --> <poi.version>5.4.0</poi.version> <druid.version>1.2.13</druid.version> <minio.version>8.5.12</minio.version> <taos-jdbcdriver.version>3.5.3</taos-jdbcdriver.version> <xxl-job.version>2.4.1</xxl-job.version> <activiti.version>7.1.0.M6</activiti.version> <springdoc.version>2.1.0</springdoc.version> <!-- <powerjob.version>5.1.1</powerjob.version>--> <californium.version>3.5.0</californium.version> <wechatpay-sdk.version>0.6.0</wechatpay-sdk.version> <alipay-sdk.version>4.34.0.ALL</alipay-sdk.version> <volc-sdk.version>LATEST</volc-sdk.version> </properties> <!-- 依赖管理(控制Spring Cloud Alibaba及相关组件版本) --> <dependencyManagement> <dependencies> <!-- Spring Cloud Alibaba 核心依赖管理 --> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-alibaba-dependencies</artifactId> <version>${spring-cloud-alibaba.version}</version> <type>pom</type> <scope>import</scope> </dependency> <!-- Spring Cloud 核心依赖管理 --> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-dependencies</artifactId> <version>${spring-cloud.version}</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> <dependencies> <dependency> <groupId>jakarta.annotation</groupId> <artifactId>jakarta.annotation-api</artifactId> <version>2.1.1</version> </dependency> <!-- 一、Spring Boot 核心 Starter --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <exclusions> <!-- 排除 Tomcat 的旧版注解 API --> <exclusion> <groupId>org.apache.tomcat</groupId> <artifactId>annotations-api</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-aop</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> <!-- 服务监控,Alibaba生态必备 --> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <!-- 二、Spring Cloud Alibaba 核心组件(为升级铺垫) --> <!-- 服务注册与发现(Nacos) --> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> </dependency> <!-- 声明式服务调用(OpenFeign) --> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-openfeign</artifactId> </dependency> <!-- 熔断限流(Sentinel,已存在,保留) --> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId> </dependency> <!-- 消息队列(RocketMQ,与Alibaba生态兼容) --> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-stream-rocketmq</artifactId> <!-- 替换原生rocketmq-starter,适配Alibaba --> </dependency> <!-- 三、安全与认证 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-oauth2-authorization-server</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-oauth2-client</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-oauth2-resource-server</artifactId> </dependency> <dependency> <groupId>org.springframework.security</groupId> <artifactId>spring-security-test</artifactId> <scope>test</scope> </dependency> <!-- JWT工具 --> <dependency> <groupId>io.jsonwebtoken</groupId> <artifactId>jjwt-api</artifactId> <version>${jjwt.version}</version> </dependency> <dependency> <groupId>io.jsonwebtoken</groupId> <artifactId>jjwt-impl</artifactId> <version>${jjwt.version}</version> <scope>runtime</scope> </dependency> <dependency> <groupId>io.jsonwebtoken</groupId> <artifactId>jjwt-jackson</artifactId> <version>${jjwt.version}</version> <scope>runtime</scope> </dependency> <!-- 四、数据访问 --> <!-- MySQL驱动 --> <dependency> <groupId>com.mysql</groupId> <artifactId>mysql-connector-j</artifactId> <scope>runtime</scope> </dependency> <!-- MongoDB --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-mongodb</artifactId> </dependency> <!-- Redis(Redisson作为客户端,已排除原生Redis starter避免冲突) --> <dependency> <groupId>org.redisson</groupId> <artifactId>redisson-spring-boot-starter</artifactId> <version>${redisson.version}</version> <exclusions> <exclusion> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </exclusion> </exclusions> </dependency> <!-- MyBatis-Plus(适配Spring Boot 3) --> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-spring-boot3-starter</artifactId> <version>${mybatis-plus.version}</version> </dependency> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-generator</artifactId> <version>${mybatis-plus.version}</version> </dependency> <!-- 数据库连接池(Druid) --> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-starter</artifactId> <version>${druid.version}</version> </dependency> <!-- 五、消息与通信 --> <!-- WebSocket --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-websocket</artifactId> </dependency> <!-- Kafka(如需保留,与RocketMQ并存需注意配置隔离) --> <dependency> <groupId>org.springframework.kafka</groupId> <artifactId>spring-kafka</artifactId> </dependency> <dependency> <groupId>org.springframework.kafka</groupId> <artifactId>spring-kafka-test</artifactId> <scope>test</scope> </dependency> <!-- CoAP协议 --> <dependency> <groupId>org.eclipse.californium</groupId> <artifactId>californium-core</artifactId> <version>${californium.version}</version> </dependency> <!-- 六、工具类 --> <!-- JSON处理(FastJSON2) --> <dependency> <groupId>com.alibaba.fastjson2</groupId> <artifactId>fastjson2</artifactId> <version>${fastjson2.version}</version> </dependency> <!-- 对象转换(ModelMapper) --> <dependency> <groupId>org.modelmapper</groupId> <artifactId>modelmapper</artifactId> <version>${modelmapper.version}</version> </dependency> <!-- Hutool工具集(已包含captcha,移除单独的hutool-captcha) --> <dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> <version>${hutool.version}</version> </dependency> <!-- Excel处理(POI) --> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>${poi.version}</version> </dependency> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>${poi.version}</version> </dependency> <!-- Lombok --> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <optional>true</optional> </dependency> <!-- 七、业务组件 --> <!-- 文件存储(MinIO) --> <dependency> <groupId>io.minio</groupId> <artifactId>minio</artifactId> <version>${minio.version}</version> </dependency> <!-- 时序数据库(TAOS) --> <dependency> <groupId>com.taosdata.jdbc</groupId> <artifactId>taos-jdbcdriver</artifactId> <version>${taos-jdbcdriver.version}</version> </dependency> <!-- 任务调度(XXL-Job) --> <dependency> <groupId>com.xuxueli</groupId> <artifactId>xxl-job-core</artifactId> <version>${xxl-job.version}</version> </dependency> <!-- 工作流(Activiti) --> <dependency> <groupId>org.activiti</groupId> <artifactId>activiti-spring-boot-starter</artifactId> <version>${activiti.version}</version> </dependency> <dependency> <groupId>org.activiti.core.common</groupId> <artifactId>activiti-spring-security</artifactId> <version>${activiti.version}</version> </dependency> <!-- 分布式任务调度(PowerJob) --> <!-- <dependency>--> <!-- <groupId>com.github.kfcfans</groupId>--> <!-- <artifactId>powerjob-client</artifactId>--> <!-- <version>${powerjob.version}</version>--> <!-- </dependency>--> <!-- 八、支付相关 --> <dependency> <groupId>com.github.wechatpay-apiv3</groupId> <artifactId>wechatpay-apache-httpclient</artifactId> <version>${wechatpay-sdk.version}</version> </dependency> <dependency> <groupId>com.alipay.sdk</groupId> <artifactId>alipay-sdk-java</artifactId> <version>${alipay-sdk.version}</version> </dependency> <!-- 九、API文档(Swagger) --> <dependency> <groupId>org.springdoc</groupId> <artifactId>springdoc-openapi-starter-webmvc-ui</artifactId> <version>${springdoc.version}</version> </dependency> <!-- 十、火山引擎SDK --> <dependency> <groupId>com.volcengine</groupId> <artifactId>volcengine-java-sdk-ark-runtime</artifactId> <version>${volc-sdk.version}</version> </dependency> <dependency> <groupId>com.volcengine</groupId> <artifactId>volc-sdk-java</artifactId> <version>${volc-sdk.version}</version> </dependency> </dependencies> <!-- 仓库配置(优先使用阿里云仓库加速) --> <repositories> <repository> <id>aliyun</id> <name>阿里云公共仓库</name> <url>https://maven.aliyun.com/repository/public</url> <snapshots> <enabled>false</enabled> <!-- 关闭快照版本下载 --> </snapshots> </repository> <!-- Spring Cloud Alibaba 专属仓库(确保依赖下载) --> <repository> <id>spring-cloud-alibaba</id> <name>Spring Cloud Alibaba Repository</name> <url>https://maven.aliyun.com/repository/spring</url> </repository> </repositories> <!-- 构建配置 --> <build> <plugins> <!-- Spring Boot 打包插件 --> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <excludes> <exclude> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> </exclude> </excludes> <!-- 多环境配置 --> <profiles> <profile> <id>dev</id> <activation> <activeByDefault>true</activeByDefault> </activation> <properties> <spring-boot.run.profiles>dev</spring-boot.run.profiles> </properties> </profile> <profile> <id>prod</id> <properties> <spring-boot.run.profiles>prod</spring-boot.run.profiles> </properties> </profile> </profiles> </configuration> </plugin> <!-- 编译插件(指定Java版本) --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.11.0</version> <configuration> <source>${java.version}</source> <target>${java.version}</target> <encoding>${encoding}</encoding> </configuration> </plugin> </plugins> <!-- 资源文件配置 --> <resources> <resource> <directory>src/main/resources</directory> <includes> <include>**/*.xml</include> <include>**/*.properties</include> <include>**/*.yml</include> <!-- 补充yml文件支持 --> </includes> <filtering>false</filtering> <!-- 不启用过滤 --> </resource> <!-- 多环境配置文件过滤 --> <resource> <directory>src/main/resources</directory> <includes> <include>application.properties</include> <include>application-${profiles.active}.properties</include> <include>application-${profiles.active}.yml</include> </includes> <filtering>true</filtering> <!-- 启用变量替换 --> </resource> </resources> </build> <!-- 多环境配置 --> <profiles> <profile> <id>dev</id> <properties> <profiles.active>dev</profiles.active> </properties> <activation> <activeByDefault>true</activeByDefault> </activation> </profile> <profile> <id>prod</id> <properties> <profiles.active>prod</profiles.active> </properties> </profile> </profiles> </project> 这是我的pom报错了 3.5.7 19:09:36.166 [main] WARN o.s.b.w.s.c.AnnotationConfigServletWebServerApplicationContext - Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'securityConfig': Unsatisfied dependency expressed through field 'deviceAdminService': Error creating bean with name 'deviceAdminServiceImpl' defined in file [E:\core\main\target\classes\com\example\main\service\device\impl\DeviceAdminServiceImpl.class]: Post-processing of merged bean definition failed 19:09:36.183 [main] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat] 19:09:36.204 [main] WARN o.a.c.loader.WebappClassLoaderBase - The web application [ROOT] appears to have started a thread named [Thread-2] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread: java.base@17.0.14/sun.net.dns.ResolverConfigurationImpl.notifyAddrChange0(Native Method) java.base@17.0.14/sun.net.dns.ResolverConfigurationImpl$AddressChangeListener.run(ResolverConfigurationImpl.java:176) 19:09:36.224 [main] INFO o.s.b.a.l.ConditionEvaluationReportLogger - Error starting ApplicationContext. To display the condition evaluation report re-run your application with 'debug' enabled. 19:09:36.246 [main] ERROR o.s.b.d.LoggingFailureAnalysisReporter - *************************** APPLICATION FAILED TO START *************************** Description: An attempt was made to call a method that does not exist. The attempt was made from the following location: org.springframework.context.annotation.CommonAnnotationBeanPostProcessor$LegacyResourceElement.<init>(CommonAnnotationBeanPostProcessor.java:780) The following method did not exist: 'java.lang.String javax.annotation.Resource.lookup()' The calling method's class, org.springframework.context.annotation.CommonAnnotationBeanPostProcessor$LegacyResourceElement, was loaded from the following location: jar:file:/E:/maven-repository/org/springframework/spring-context/6.1.10/spring-context-6.1.10.jar!/org/springframework/context/annotation/CommonAnnotationBeanPostProcessor$LegacyResourceElement.class The called method's class, javax.annotation.Resource, is available from the following locations: jar:file:/E:/maven-repository/org/apache/tomcat/annotations-api/6.0.53/annotations-api-6.0.53.jar!/javax/annotation/Resource.class jar:file:/E:/maven-repository/javax/annotation/javax.annotation-api/1.3.2/javax.annotation-api-1.3.2.jar!/javax/annotation/Resource.class The called method's class hierarchy was loaded from the following locations: javax.annotation.Resource: file:/E:/maven-repository/org/apache/tomcat/annotations-api/6.0.53/annotations-api-6.0.53.jar Action: Correct the classpath of your application so that it contains compatible versions of the classes org.springframework.context.annotation.CommonAnnotationBeanPostProcessor$LegacyResourceElement and javax.annotation.Resource Disconnected from the target VM, address: '127.0.0.1:3673', transport: 'socket'
08-15
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值