VS Code 與 Servlet

      在〈VS Code 與 Servlet〉中尚無留言

使用 VS Code 在遠端建立 Marven 專案

Linux 安裝套件

todo

sudo apt install maven

 建立專案

Ctrl+Shift+p 選擇 Remote-SSH: Connect to Host,指定網址。

將專案建立在遠端 /server 目錄之下,專案名稱為 JavaWeb

cd /server

mvn archetype:generate \
-DgroupId=com.example \
-DartifactId=JavaWeb \
-DarchetypeArtifactId=maven-archetype-webapp \
-DinteractiveMode=false

以上 -DgroupId 一定要寫

pom.xml

pom.xml 需新增如下藍色部份

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>net.ddns.mahalrtc</groupId>
  <artifactId>JavaWeb</artifactId>
  <packaging>war</packaging>
  <version>1.0-SNAPSHOT</version>
  <name>JavaWeb Maven Webapp</name>
  <url>http://maven.apache.org</url>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>jakarta.servlet</groupId>
        <artifactId>jakarta.servlet-api</artifactId>
        <version>6.0.0</version>
        <scope>provided</scope>
    </dependency>    
  </dependencies>
  <build>
    <finalName>JavaWeb</finalName>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-war-plugin</artifactId>
            <version>3.4.0</version>
        </plugin>
    </plugins>    
  </build>
</project>

todo

發佈

使用如下指令發佈網站

mvn clean package

發佈的目標在專案下的 target/JavaWeb

發佈到指定的目錄

todo

<build>
<directory>/path/toi/output</directory>
<finalName>my-app</finalName?
</build>

<directory> : 指定編譯打包輸出路徑
<finalName> : 指定生成的檔名(如 my-app.war、my-app.jar)

Tomcat docBase

開啟 /opt/tomcat/conf/server.xml,將 docBase 改成如下

<Context path="/" docBase="/server/JavaWeb/target/JavaWeb" debug="0" reloadable="true" />

記得要重新啟動 Tomcat

sudo systemctl restart tomcat

輸入 https://xxx.ddns.net/index.jsp 即可看到網頁

todo

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *