STU8080 2022-03-23 13:50 采纳率: 100%
浏览 49
已结题

Eclipse使用BeanUtils框架,使用BeanUtils.setProperty时提示java.lang.IllegalAccessException

Eclipse使用BeanUtils框架,给属性赋值,已导入commons-beanutils和commons-logging的jar包,使用BeanUtils.setProperty时提示java.lang.IllegalAccessException

img

Person类:

package day_220322;

public class Person {

public String name;
private String password;
private int age;

public Person() {
    
}

public void setName(String name) {
    this.name = name;
}

public String getName() {
    return name;
}

public String getPassword() {
    return password;
}

public void setPassword(String password) {
    this.password = password;
}

public int getAge() {
    return age;
}

public void setAge(int age) {
    this.age = age;
}

}

BeanDemo类:

package day_220322;

import java.lang.reflect.InvocationTargetException;
import org.apache.commons.beanutils.BeanUtils;
import org.junit.Test;

public class BeanDemo {

@Test
public void test1() throws IllegalAccessException, InvocationTargetException  {
    
    Person p =new Person();
    BeanUtils.setProperty(p, "name", "xcc");

// BeanUtils.setProperty(p, "age", 18);
System.out.println(p.getName());
}
}

运行Run as Junit时,提示:

java.lang.IllegalAccessException: class org.apache.commons.beanutils.PropertyUtilsBean (in module commons.beanutils) cannot access class day_220322.Person (in module JavaStudy) because module JavaStudy does not export day_220322 to module commons.beanutils
at java.base/jdk.internal.reflect.Reflection.newIllegalAccessException(Reflection.java:385)
at java.base/java.lang.reflect.AccessibleObject.checkAccess(AccessibleObject.java:693)
at java.base/java.lang.reflect.Method.invoke(Method.java:556)
at commons.beanutils@1.8.3/org.apache.commons.beanutils.PropertyUtilsBean.invokeMethod(PropertyUtilsBean.java:2170)
at commons.beanutils@1.8.3/org.apache.commons.beanutils.PropertyUtilsBean.setSimpleProperty(PropertyUtilsBean.java:2151)
at commons.beanutils@1.8.3/org.apache.commons.beanutils.PropertyUtilsBean.setNestedProperty(PropertyUtilsBean.java:1957)
at commons.beanutils@1.8.3/org.apache.commons.beanutils.PropertyUtilsBean.setProperty(PropertyUtilsBean.java:2064)
at commons.beanutils@1.8.3/org.apache.commons.beanutils.BeanUtilsBean.setProperty(BeanUtilsBean.java:1017)
at commons.beanutils@1.8.3/org.apache.commons.beanutils.BeanUtils.setProperty(BeanUtils.java:456)
at JavaStudy/day_220322.BeanDemo.test1(BeanDemo.java:13)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:564)
at junit@1500/org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59)
at junit@1500/org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
at junit@1500/org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56)
at junit@1500/org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
at junit@1500/org.junit.runners.ParentRunner$3.evaluat

  • 写回答

2条回答 默认 最新

  • qq_25376897 2022-03-23 14:16
    关注

    JavaStudy里面加一句 exports day_220322;

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 3月31日
  • 已采纳回答 3月23日
  • 创建了问题 3月23日

悬赏问题

  • ¥30 酬劳2w元求合作写文章
  • ¥15 在现有系统基础上增加功能
  • ¥15 远程桌面文档内容复制粘贴,格式会变化
  • ¥15 关于#java#的问题:找一份能快速看完mooc视频的代码
  • ¥15 这种微信登录授权 谁可以做啊
  • ¥15 请问我该如何添加自己的数据去运行蚁群算法代码
  • ¥20 用HslCommunication 连接欧姆龙 plc有时会连接失败。报异常为“未知错误”
  • ¥15 网络设备配置与管理这个该怎么弄
  • ¥20 机器学习能否像多层线性模型一样处理嵌套数据
  • ¥20 西门子S7-Graph,S7-300,梯形图