@Resource无法import相关

一、查找@Resource在那个jar包里
@Resource注解的类路径是:javax.annotation.Resource,是annotation-api.jar包中的类,是JDK1.6支持的注解。tomcat6以上,tomcat已经包含了这个jar包,不需要自己导入。

二、maven
由此想到应该是maven的问题,maven默认按照自己的jdk版本进行编译,打开安装目录\maven\conf\settings.xml

竟然是jdk1.4!
接下来问题就变成了修改maven默认jdk版本
有两种方法:
方式1.修改maven全局jdk
打开 \maven\conf\settings.xml ,修改上图所示部分

<profiles>
<profile>
<id>jdk-1.6</id>
<activation>
<activeByDefault>true</activeByDefault>
<jdk>1.6</jdk>
</activation>
<properties>
<maven.compiler.source>1.6</maven.compiler.source>
<maven.compiler.target>1.6</maven.compiler.target>
<maven.compiler.compilerVersion>1.6</maven.compiler.compilerVersion>
</properties>
</profile>
</profiles>

方式2. 局部修改-修改项目pom.xml
在项目pom里增加如下这段:

<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.6</source> <!-- 源代码使用的开发版本 -->
<target>1.6</target> <!-- 需要生成的目标class文件的编译版本 -->
<encoding>UTF-8</encoding>
<!-- 一般而言,target与source是保持一致的,但是,有时候为了让程序能在其他版本的jdk中运行(对于低版本目标jdk,源代码中需要没有使用低版本jdk中不支持的语法),会存在target不同于source的情况 -->

<!-- 这下面的是可选项 -->
<meminitial>128m</meminitial>
<maxmem>512m</maxmem>
<fork>true</fork> <!-- fork is enable,用于明确表示编译版本配置的可用 -->
<compilerVersion>1.3</compilerVersion>

<!-- 这个选项用来传递编译器自身不包含但是却支持的参数选项 -->
<compilerArgument>-verbose -bootclasspath ${java.home}\lib\rt.jar</compilerArgument>

</configuration>
</plugin>

原文地址:https://www.cnblogs.com/ZJOE80/p/10118014.html

时间: 2024-10-14 13:12:44

@Resource无法import相关的相关文章

tsdb import 相关

今天一直在做opentsdb 大量导入数据的工作. 中间遇到了一些值得记录的问题, 这里随手记一下 明天好好整理 1. 多进程logger python的logging模块不支持多进程,但我们可以用syslog模块 把进程写给linux/unix的syslog服务. syslog 有local 0 - 7 8个通道. 把一个通道配置到你的日志文件 然后写入即可 2. 多进程 apply_async 这个函数有点奇怪.下面的代码df如果是string就可以.如果不是string, 那么子进程好像不

Django import相关

1 from django.shortcuts import render,redirect 2 3 from django.contrib.auth import authenticate,logout,login 4 5 from django.contrib.auth.decorators import login_required 6 7 from django.core.paginator import Paginator,PageNotAnInteger,EmptyPage 8 9

三个 DAL 相关的Java代码小工具

最近在做 DAL (Data Access Layer 数据访问层) 的服务化,发现有不少地方是人工编写比较繁琐的,因此写了几个小工具来完成. 1.  从 DAO 类自动生成 CoreService 类, CoreService 直接调用 DAO 类 思路: 通过正则表达式解析方法参数, 使用正则替换及源 DAO 文件来生成 CoreService 源文件. package zzz.study.utils; import cc.lovesq.dao.CreativeDAO; import jav

@Resource与@Autoware

问题 这其实就是@Autoware与@Resource没有正确的使用,这个错误是因为wmPoiOplogService这个变量装配方式是@Resource,按照@Resource的按名字查找的方式,并没有找到bean id为wmPoiOplogService的bean所以就报出这个错误. 举个栗子?? Bean.java 1 package service.test; 2 3 4 import java.util.List; 5 6 /** 7 * Created by zhengbin on

Spring注解@Component、@Repository、@Service、@Controller的相关知识

Spring注解@Component.@Repository.@Service.@Controller区别 spring 2.5 中除了提供 @Component 注释外,还定义了几个拥有特殊语义的注释,它们分别是:@Repository.@Service 和 @Controller.在目前的 Spring 版本中,这 3 个注释和 @Component 是等效的,但是从注释类的命名上,很容易看出这 3 个注释分别和持久层.业务层和控制层(Web 层)相对应.虽然目前这 3 个注释和 @Comp

maven项目中 org.hibernate.MappingNotFoundException: resource:**.hbm.xml not found问题的解决方案

刚开始学习Maven,学习过程中遇到了很多问题,尤其是使用Eclipse创建Maven工程,真TM蛋疼... 按照网上的教程创建了一个Maven项目,看一下项目结构: 请注意,我的配置文件没有放到src/main/resource文件夹下. 结果运行之后就会报错: org.hibernate.MappingNotFoundException: resource:**.hbm.xml not found. 网上查了半天资料,原来对于Maven工程,编译的工作是由Maven程序来完成的,而Maven

SpringMVC拦截器(实现登录验证拦截器)

本例实现登陆时的验证拦截,采用SpringMVC拦截器来实现 当用户点击到网站主页时要进行拦截,用户登录了才能进入网站主页,否则进入登陆页面 核心代码 首先是index.jsp,显示链接 1 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> 2 <% 3 String path = request.getContextPath(); 4 St

利用Jersey搭建Rest的Web服务

传统模式下,一般利用servlet+jsp来完成前后台的交互,但是现在随着技术的进步,利用rest总线作为数据访问一种方式成为一种流行.本片博文主要利用Jersey搭建rest服务,并且利用mybatis作为数据库访问方式构建一个从前台到后台交互并且实现数据持久化的一个完整架构. 1,首先构建一个maven web项目,项目结构如下: 其中pom.xml文件中的dependency如下: <dependencies> <!--jersey --> <dependency>

SpringMvc项目中使用GoogleKaptcha 生成验证码

SpringMvc项目中使用GoogleKaptcha 生成验证码 前言:google captcha 是google生成验证码的一个工具类,其原理是将随机生成字符串保存到session中,同时以图片的形式返回给页面,之后前台页面提交到后台进行对比. 1.jar包准备 官方提供的pom应该是 <dependency> <groupId>com.google.code.kaptcha</groupId> <artifactId>kaptcha</arti