作业 1: 服务开发和调用
Class person
{
String name;
int age;
boolean gender;
set/getName();
set/getAge();
set/getGender();
String sayHello()
{
Return “Hello world!”+name;
}
}
1.1 基于 Apache Dubbo 将上述类的方法对外提供 RPC 服务并调用;
1.2 基于 Java Spring 将上述类的方法对外提供 RESTful 服务并调用;
1.3 基于 Apache Axis2 将上述类的方法对外提供 Web 服务,生成 WSDL 文件,以及调用服务。
问题解决1:ant默认的java.home为jre目录的解决办法
***@OptiPlex-7070:~/workspace/study/23Fall - Service Computing Homework/homework1/pojoguide$ export JAVACMD=/usr/lib/jvm/jdk-17.0.9/bin/java
***@OptiPlex-7070:~/workspace/study/23Fall - Service Computing Homework/homework1/pojoguide$ ant
Buildfile: /home/***/workspace/study/23Fall - Service Computing Homework/homework1/pojoguide/build.xml
clean:
[delete] Deleting directory /home/***/workspace/study/23Fall - Service Computing Homework/homework1/pojoguide/build
prepare:
[mkdir] Created dir: /home/***/workspace/study/23Fall - Service Computing Homework/homework1/pojoguide/build
[mkdir] Created dir: /home/***/workspace/study/23Fall - Service Computing Homework/homework1/pojoguide/build/lib
[mkdir] Created dir: /home/***/workspace/study/23Fall - Service Computing Homework/homework1/pojoguide/build/PersonService
[mkdir] Created dir: /home/***/workspace/study/23Fall - Service Computing Homework/homework1/pojoguide/build/PersonService/META-INF
generate.service:
[copy] Copying 1 file to /home/***/workspace/study/23Fall - Service Computing Homework/homework1/pojoguide/build/PersonService/META-INF
[javac] /home/***/workspace/study/23Fall - Service Computing Homework/homework1/pojoguide/build.xml:61: warning: 'includeantruntime' was not set, defaulting to build.sysclasspath=last; set to false for repeatable builds
[javac] Compiling 4 source files to /home/***/workspace/study/23Fall - Service Computing Homework/homework1/pojoguide/build/PersonService
[jar] Building jar: /home/***/workspace/study/23Fall - Service Computing Homework/homework1/pojoguide/build/PersonService.aar
[copy] Copying 1 file to /home/***/appData/axis2-1.8.2/repository/services
BUILD SUCCESSFUL
Total time: 0 seconds
问题解决2:tomcat无法启动并报错
***@OptiPlex-7070:~/Downloads/apache-tomcat-9.0.83$ ./bin/catalina.sh run
Using CATALINA_BASE: /home/***/appData/apache-tomcat-9.0.83
Using CATALINA_HOME: /home/***/appData/apache-tomcat-9.0.83
Using CATALINA_TMPDIR: /home/***/appData/apache-tomcat-9.0.83/temp
Using JRE_HOME: /usr/lib/jvm/jdk-17.0.9/jre
Using CLASSPATH: /home/***/appData/apache-tomcat-9.0.83/bin/bootstrap.jar:/home/***/appData/apache-tomcat-9.0.83/bin/tomcat-juli.jar
Using CATALINA_OPTS:
NOTE: Picked up JDK_JAVA_OPTIONS: --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.util.concurrent=ALL-UNNAMED --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED
WARNING: Unknown module: java.rmi specified to --add-opens
Exception in thread "main" java.lang.NoClassDefFoundError: java/util/logging/Logger
at org.apache.juli.logging.DirectJDKLog.<init>(DirectJDKLog.java:61)
at org.apache.juli.logging.DirectJDKLog.getInstance(DirectJDKLog.java:181)
at org.apache.juli.logging.LogFactory.getInstance(LogFactory.java:133)
at org.apache.juli.logging.LogFactory.getInstance(LogFactory.java:156)
at org.apache.juli.logging.LogFactory.getLog(LogFactory.java:211)
at org.apache.catalina.startup.Bootstrap.<clinit>(Bootstrap.java:52)
Caused by: java.lang.ClassNotFoundException: java.util.logging.Logger
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:520)
... 6 more
在setclasspath.sh
中添加:
export JAVA_HOME='/usr/lib/jvm/jdk-17.0.9'
export JRE_HOME='/usr/lib/jvm/jdk-17.0.9'