Я пытаюсь прекратить использовать Eclipse JEE в качестве моей основной IDE, и, поскольку VSCode в настоящее время имеет некоторую поддержку Java, я пытаюсь прыгнуть с корабля.У меня сейчас есть две проблемы, и если я не смогу их исправить, я буду вынужден использовать Eclipse в качестве просто развертывателя Tomcat .war.
Возможно ли, чтобы VSCode действовал или имел ту же функциональностьчто в Eclipse есть автоматическое развертывание .war и публикация изменений на лету?
Я знаю, что текущее расширение Tomcat For Java для vscode имеет возможность развернуть взорванный .war, но это дает мне ошибки javax.serverFilter, даже несмотря на то, что я добавил зависимость javax.servlet-api, как указано в моемpom.xml.
Это также дает мне возможность вручную создавать и развертывать .war, и это работает, но это очень раздражает для небольших модификаций.
Я пытался добавить tomcat7-maven-plugin в моем файле pom.xml и выполните следующую команду для более автоматизированного развертывания:
cmd /c mvn tomcat7:deploy -DskipTests -f "c:\Users\user\git\MyWebApp\pom.xml"
Но все попытки, которые я пробовал, вызывали одну и ту же ошибку:
I/O exception (java.net.SocketException) caught when processing request: Connection reset by peer: socket write error
И я попробовал все решения, представленные по этим ссылкам:
Tomcat 7: сброс соединения по одноранговому или программному обеспечению вызвал прерывание соединения
Развертывание Tomcat с использованиемСбой tomcat7-maven-plugin с ошибкой «Невозможно вызвать диспетчер Tomcat: сброс соединения по пиру: ошибка записи сокета»
Ошибка развертывания maven tomcat
Ошибка записи в сокет при попытке развернуть проект maven на tomcat
Теперь, даже если мне удастся исправить ошибку записи в сокет, я все еще не знаю, смогу ли ясоздать задачу или что-то, что обнаружит изменения и опубликует мои изменения в моем Tomcat.Есть идеи?
Я использую:
Tomcat 9
Apache Maven 3.6.1
tomcat7-maven-plugin 2.2
javax.servlet-api 3.1
Tomcat для Java 0.11.1
VSCode 1.35.1 со всеми соответствующими расширениями Java
Редактировать: вот мой 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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>MyWebApp</groupId>
<artifactId>MyWebApp</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>
<dependencies>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
</dependency>
</dependencies>
<build>
<sourceDirectory>src</sourceDirectory>
<testSourceDirectory>test</testSourceDirectory>
<plugins>
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
<configuration>
<url>http://localhost:8080/manager/text</url>
<server>TomcatServer</server>
<username>admin</username>
<password>admin</password>
<path>/MyWebApp</path>
<update>true</update>
</configuration>
</plugin>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.0</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
<plugin>
<artifactId>maven-war-plugin</artifactId>
<version>3.2.1</version>
<configuration>
<warSourceDirectory>WebContent</warSourceDirectory>
</configuration>
</plugin>
</plugins>
</build>
И мои settings.xml
<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
http://maven.apache.org/xsd/settings-1.0.0.xsd">
<servers>
<server>
<id>TomcatServer</id>
<username>admin</username>
<password>admin</password>
</server>
</servers>
И tomcat-users.xml
<?xml version="1.0" encoding="UTF-8"?>
<tomcat-users xmlns="http://tomcat.apache.org/xml"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://tomcat.apache.org/xml tomcat-users.xsd"
version="1.0">
<role rolename="manager"/>
<role rolename="manager-script"/>
<role rolename="manager-gui"/>
<user username="admin" password="admin" roles="manager-script"/>
</tomcat-users>