Java Tomcat 9 web套接字示例
我试图编译(javac)Tomcat示例,特别是Java Tomcat 9 web套接字示例,java,tomcat,java-websocket,Java,Tomcat,Java Websocket,我试图编译(javac)Tomcat示例,特别是 echo endpoint.javaexamples/WEB-INF/classes文件夹具有 类文件。我必须假设它是在 tomcat9的zip文件,因为我似乎无法编译它。不可能 查找包javax.websocket error: package javax.websocket does not exist 我可以在javaxwebsocket上找到各种各样的Oracle文档 软件包,但无法找到下载jar文件的位置 使用JDK1.8.0_161
echo endpoint.java
examples/WEB-INF/classes
文件夹具有
类文件。我必须假设它是在
tomcat9的zip文件,因为我似乎无法编译它。不可能
查找包javax.websocket
error: package javax.websocket does not exist
我可以在javaxwebsocket上找到各种各样的Oracle文档
软件包,但无法找到下载jar文件的位置
使用JDK1.8.0_161
我是一个老程序员,真的不喜欢所有这些工具
我想知道的是,他们试图为我做一些事情(eclipse,maven)
一切都在我的掌控之中
从命令行使用sublime3 my environment进行编辑
变量显示:
LLUSERSPROFILE=C:\ProgramData APPDATA=C:\Users\Owner\AppData\Roaming CATALINA_BASE=D:\tomcat9\apache-tomcat-9.0.7
CATALINA_HOME=D:\tomcat9\apache-tomcat-9.0.7
CommonProgramFiles=C:\Program Files\Common Files
CommonProgramFiles(x86)=C:\Program Files (x86)\Common Files
CommonProgramW6432=C:\Program Files\Common Files
COMPUTERNAME=DESKTOP-NMIG0RS ComSpec=C:\WINDOWS\system32\cmd.exe
FPS_BROWSER_APP_PROFILE_STRING=Internet Explorer
FPS_BROWSER_USER_PROFILE_STRING=Default HOMEDRIVE=C:
HOMEPATH=\Users\Owner JAVA_HOME=C:\Program Files\Java\jdk1.8.0_161
LOCALAPPDATA=C:\Users\Owner\AppData\Local
LOGONSERVER=\\DESKTOP-NMIG0RS NUMBER_OF_PROCESSORS=12
OneDrive=C:\Users\Owner\OneDrive OS=Windows_NT
Path=C:\ProgramData\Oracle\Java\javapath;C:\Program Files
(x86)\Intel\iCLS Client\;C:\Program Files\Intel\iCLS
Client\;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\Program
Files (x86)\Intel\Intel(R) Management Engine Components\DAL;C:\Program
Files\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files
(x86)\Intel\Intel(R) Management Engine Components\IPT;C:\Program
Files\Intel\Intel(R) Management Engine Components\IPT;C:\Program
Files\PuTTY\;C:\Program Files (x86)\Skype\Phone\;C:\Program
Files\Java\jdk1.8.0_161\bin;C:\Program
Files\nodejs\;C:\Users\Owner\AppData\Local\Microsoft\WindowsApps;C:\Users\Owner\Downloads\java_ee_sdk-7u3-web\glassfish4\bin;C:\Program
Files\Microsoft VS
Code\bin;C:\Users\Owner\AppData\Roaming\npm;C:\Program Files\nodejs;
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
我尝试将D:\tomcat9\apache-tomcat-9.0.7\lib添加到
javac命令认为它可能会获取tomcat-websocket.jar或
websocket-api.jar,但这也没有帮助。所以我有一个多部分
问题:
.bat
文件来构建所有示例将目录添加到
类路径
只会添加可能在那里和子目录中找到的.class
文件(具有特定的包结构)。如果要将websocket api.jar
添加到类路径
中,则必须按以下方式执行:
C:> javac -cp D:\tomcat9\apache-tomcat-9.0.7\lib\websocket.jar myClass.java
Eclipse和Maven等工具已经理解了这些依赖关系,如果您需要包含项目所依赖的20、30或100个不同的库,则可以取消所有需要进行的键入
要直接回答您的问题:
.bat
文件来构建所有示例示例web应用程序。使用Ant比从.bat文件构建要好得多。是的,它很复杂。这很复杂,因为构建Tomcat很复杂。构建eexamples
web应用程序不是这样,但是能够发出一个
任务来理解依赖JAR文件的位置要比每次发生变化时必须重新滚动整个javac
命令要好得多
如果要方便地编译示例web应用程序,应下载Apache Ant并运行以下命令:
C:> ant compile-webapp-examples
如果您对web应用程序进行更改,您也会得到编译的更改
值得指出的是,这并不是某些基于Java的阴谋的一部分,这些阴谋旨在迷惑“老程序员”在Java中,我在C和其他语言方面有很长的历史。任何超过一个源文件C项目的东西实际上都需要一个makefile
,我参与的许多项目在从源代码构建活动中也有很多其他步骤。比如运行编译器(lex/yacc等)在调用C编译器之前,等等。同样,大多数C编译器一次只编译一个文件。因此,如果你有100个源文件,你需要100行原始构建脚本。然后,你需要链接步骤,这实际上可能是许多步骤。如果你需要2个、30个或100个不同的依赖库,你需要从他们的r获取它们特定的源代码,然后在链接步骤中提及它们(C编译器不包括libssl
或libwhatever
,有时甚至不包括libc
)JavaX包是JRE AFAIK的一部分,2。IDK,他们决定不使用3。查看2。考虑查看评论大小限制,只是节省了每个人处理我的SOAPBOX咆哮的“现代”。编程工具我想我会把它发布到其他地方,并在以后的评论中提供一个链接。@Lattialee通常用一个简单的“离开我的草坪”来表达观点。