[英]java.lang.SecurityException: Prohibited package name: java.lang
I'm getting the following error when trying to build my very simple webservice project. 尝试构建非常简单的Web服务项目时出现以下错误。 I've given the build.xml, my java file and path values
我已经给出了build.xml,我的java文件和路径值
The class file is getting generated, but service is not getting generated. 正在生成类文件,但未生成服务。
Please help... It's bugging for a looooong time.. 请帮忙。。。
Thanks! 谢谢! :)
:)
CLASSPATH=C:\\bea\\weblogic81\\server\\lib\\weblogic.jar;C:\\bea\\weblogic81\\server\\lib \\webservices.jar;C:\\bea\\weblogic81\\server\\lib\\ojdbc14.jar;C:\\j2sdk1.4.2_18\\jre\\l ib\\rt.jar;c:\\ant\\apache-ant-1.5.4\\lib\\ant.jar;c:\\ant\\apache-ant-1.5.4\\lib\\option al.jar;
CLASSPATH = C:\\ bea \\ weblogic81 \\ server \\ lib \\ weblogic.jar; C:\\ bea \\ weblogic81 \\ server \\ lib \\ webservices.jar; C:\\ bea \\ weblogic81 \\ server \\ lib \\ ojdbc14.jar; C:\\ j2sdk1.4.2_18 \\ jre \\ l ib \\ rt.jar; c:\\ ant \\ apache-ant-1.5.4 \\ lib \\ ant.jar; c:\\ ant \\ apache-ant-1.5.4 \\ lib \\ option al 。罐;
Path=C:\\Program Files\\Reflection;C:\\oracle\\ora92\\bin;C:\\Program Files\\Oracle\\jre \\1.3.1\\bin;C:\\Program Files\\Oracle\\jre\\1.1.8\\bin;C:\\WINDOWS\\system32;C:\\WINDOWS;
路径= C:\\ Program Files \\ Reflection; C:\\ oracle \\ ora92 \\ bin; C:\\ Program Files \\ Oracle \\ jre \\ 1.3.1 \\ bin; C:\\ Program Files \\ Oracle \\ jre \\ 1.1.8 \\ bin ; C:\\窗口\\ system32; C:\\ WINDOWS; C:\\WINDOWS\\System32\\Wbem;C:\\Program Files\\Intel\\DMIX;C:\\Program Files\\Windows Im aging\\;C:\\j2sdk1.4.2_18\\bin;c:\\j2sdk1.4.2_18\\bin;c:\\ant\\apache-ant-1.5.4\\bin;
C:\\ WINDOWS \\ System32 \\ Wbem; C:\\ Program Files \\ Intel \\ DMIX; C:\\ Program Files \\ Windows Imaging \\; C:\\ j2sdk1.4.2_18 \\ bin; c:\\ j2sdk1.4.2_18 \\ bin; C:\\蚂蚁\\ Apache的ANT-1.5.4 \\ BIN; PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH
PATHEXT = .COM; .EXE; .BAT; .CMD; .VBS; .VBE; .JS; .JSE; .WSF; .WSH
import java.sql.*;
import java.util.*;
public class UserModel
{
Connection con=null;
Statement st=null;
Statement st1=null;
ResultSet rs=null;
String nm,age,course,address,mob,IdNum1;
int IdNum,id;
int x;
int check=0;
ArrayList list=new ArrayList();
ArrayList eptylist=new ArrayList();
UserModel()
{
}
public int insert(String name,String age,String course,String address,int Mob) throws SQLException, ClassNotFoundException
{
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection con=DriverManager.getConnection("jdbc:oracle:thin:@192.168.142.22:40401:MKTMRM9","mrm2","Marms*123.");
st=con.createStatement();
x= st.executeUpdate("insert into student values(seqno.nextval,'"+name+"','"+age+"','"+course+"','"+address+"','"+Mob+"')");
if(x==1)
{
st1=con.createStatement();
rs=st.executeQuery("select seqno.currval from student");
while(rs.next())
{
IdNum=rs.getInt(1);
}
return IdNum;
}
else
return 0;
}
public ArrayList getDetails(int id1) throws SQLException, ClassNotFoundException
{
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection con=DriverManager.getConnection("jdbc:oracle:thin:@192.168.142.22:40401:MKTMRM9","mrm2","Marms*123.");
st=con.createStatement();
rs=st.executeQuery("select * from student where StudentId="+id1);
while(rs.next())
{
check++;
id=rs.getInt(1);
nm=rs.getString(2);
age=rs.getString(3);
course=rs.getString(4);
address=rs.getString(5);
mob=rs.getString(6);
}
list.add(new Integer(id));
list.add(nm);
list.add(age);
list.add(course);
list.add(address);
list.add(mob);
if(check!=0)
return list;
else
return eptylist;
}
}
<?xml version="1.0"?>
<project name="WebServiceServer" default="create" basedir=".">
<taskdef name="servicegen" classname="weblogic.ant.taskdefs.webservices.servicegen.ServiceGenTask"/>
<property name="src" value=".\src"/>
<property name="build" value=".\build"/>
<property name="namespace" value="http://localhost:7001/UserModel"/>
<target name="create">
<javac srcdir="${src}" destdir="${build}" includes="**/*.java">
</javac>
<servicegen
destEar="myWebServer.ear"
warName="mywebserver.war"
contextURI="WebServiceServer">
<service
javaClassComponents="UserModel"
targetNamespace="${namespace}"
serviceName="UserModel"
serviceURI="/UserModel"
generateTypes="True"
expandMethods="True"
style="rpc">
</service>
<classpath>
<pathelement path="${build}"/>
<pathelement path="${java.class.path}"/>
<pathelement path="{lib}/ojdbc14.jar"/>
</classpath>
</servicegen>
</target>
</project>
Buildfile: build.xml create: [javac] Compiling 1 source file to C:\Documents and Settings\344756\New\MyWe b\WebServiceServer\build [servicegen] Generating service "UserModel" ... [servicegen] java.lang.SecurityException: Prohibited package name: java.lang [servicegen] at java.lang.ClassLoader.defineClass(ClassLoader.java:524) [servicegen] at java.security.SecureClassLoader.defineClass(SecureClassLoader .java:123) [servicegen] at weblogic.utils.classloaders.GenericClassLoader.findLocalClass (GenericClassLoader.java:476) [servicegen] at weblogic.utils.classloaders.GenericClassLoader.findClass(Gene ricClassLoader.java:181) [servicegen] at java.lang.ClassLoader.loadClass(ClassLoader.java:289) [servicegen] at java.lang.ClassLoader.loadClass(ClassLoader.java:235) [servicegen] at weblogic.utils.classloaders.GenericClassLoader.loadClass(Gene ricClassLoader.java:223) [servicegen] at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:302) [servicegen] at java.lang.Class.forName0(Native Method) [servicegen] at java.lang.Class.forName(Class.java:219) [servicegen] at weblogic.xml.schema.binding.internal.codegen.Compiler.loadCla ss(Compiler.java:641) [servicegen] at weblogic.xml.schema.binding.internal.codegen.Compiler.addToMa pping(Compiler.java:450) [servicegen] at weblogic.xml.schema.binding.internal.codegen.Compiler.compile (Compiler.java:175) [servicegen] at weblogic.xml.schema.binding.internal.XSDTypeMappingBuilder.ma pClass(XSDTypeMappingBuilder.java:89) [servicegen] at weblogic.xml.schema.binding.internal.XSDTypeMappingBuilder.ma pClass(XSDTypeMappingBuilder.java:102) [servicegen] at weblogic.xml.schema.binding.internal.TypeMappingBuilderBase.a ddMapping(TypeMappingBuilderBase.java:180) [servicegen] at weblogic.ant.taskdefs.webservices.autotype.ComponentAutoTyper .addMapping(ComponentAutoTyper.java:88) [servicegen] at weblogic.ant.taskdefs.webservices.autotype.ComponentAutoTyper .mapComponent(ComponentAutoTyper.java:141) [servicegen] at weblogic.ant.taskdefs.webservices.autotype.JavaAutoTyper.run( JavaAutoTyper.java:81) [servicegen] at weblogic.ant.taskdefs.webservices.servicegen.ServiceGenTask.r unAutoTyper(ServiceGenTask.java:367) [servicegen] at weblogic.ant.taskdefs.webservices.servicegen.ServiceGenTask.g enerateService(ServiceGenTask.java:313) [servicegen] at weblogic.ant.taskdefs.webservices.servicegen.ServiceGenTask.e xecute(ServiceGenTask.java:181) [servicegen] at org.apache.tools.ant.Task.perform(Task.java:341) [servicegen] at org.apache.tools.ant.Target.execute(Target.java:309) [servicegen] at org.apache.tools.ant.Target.performTasks(Target.java:336) [servicegen] at org.apache.tools.ant.Project.executeTarget(Project.java:1339) [servicegen] at org.apache.tools.ant.Project.executeTargets(Project.java:1255 ) [servicegen] at org.apache.tools.ant.Main.runBuild(Main.java:609) [servicegen] at org.apache.tools.ant.Main.start(Main.java:196) [servicegen] at org.apache.tools.ant.Main.main(Main.java:235) BUILD FAILED file:C:/Documents%20and%20Settings/344756/New/MyWeb/WebServiceServer/build.xml:2 0: java.lang.SecurityException: Prohibited package name: java.lang Total time: 1 second
What package are your own classes in? 您自己的课程在哪个包中?
This error happens because it's forbidden to put your own classes in the package java.lang
. 发生此错误是因为禁止将自己的类放入包
java.lang
。 It looks like you are trying to compile a class that's in the package java.lang
. 看起来您正在尝试编译
java.lang
包中的类。
If your own classes are not in a package at all (you don't have a package
statement at the top of your source files), then put them in a package. 如果您自己的类根本不在包中(源文件顶部没有
package
语句),则将它们放在包中。
If you make sure your project package name is not start with Java or javax, try to use the following way: 如果确保您的项目包名称不是以Java或javax开头,请尝试使用以下方式:
When I run: 当我跑步时:
mvn clean install
Command in CLI, it shows build success, when I use Eclipse compile project, it shows CLI中的命令,它显示构建成功,当我使用Eclipse编译项目时,它显示
java.lang.SecurityException: Prohibited package name: java.lang.annotation
java.lang.SecurityException:禁止的软件包名称:java.lang.annotation
But my parnter project was right, I think it's IDE or compile environment problem, when I downgrade jdk version from 1.8x to 1.7x, the problem is gone. 但是我的parnter项目是正确的,我认为这是IDE或编译环境问题,当我将jdk版本从1.8x降级到1.7x时,问题就消失了。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.