Java 如何在IntelliJ IDEA的web应用程序项目中部署maven依赖项?

Java 如何在IntelliJ IDEA的web应用程序项目中部署maven依赖项?,java,maven,jsp,intellij-idea,glassfish,Java,Maven,Jsp,Intellij Idea,Glassfish,我随后创建了一个web应用程序,并在本地运行GlassFish。它运行良好,我可以将代码的输出嵌入JSP中项目的src树中,并在web浏览器中查看。当我添加一个Maven依赖项时,问题就开始了。我补充说 <dependency> <groupId>com.nimbusds</groupId> <artifactId>oauth2-oidc-sdk</artifactId> <version>4.9&l

我随后创建了一个web应用程序,并在本地运行GlassFish。它运行良好,我可以将代码的输出嵌入JSP中项目的src树中,并在web浏览器中查看。当我添加一个Maven依赖项时,问题就开始了。我补充说

<dependency>
    <groupId>com.nimbusds</groupId>
    <artifactId>oauth2-oidc-sdk</artifactId>
    <version>4.9</version>
</dependency>
我错过了什么

E:我刚刚尝试从GlassFish lib文件夹中删除JAR并编辑war工件,在Output Layout选项卡上,我将JAR从可用元素移动到WEB-INF/lib目录,我看到它们在构建时被复制到了那里,但仍然是相同的错误

我还尝试让工件将.class文件从JAR提取到WEB-INF/classes文件夹中。同样,我在我的项目的out文件夹的WEB-INF/classes文件夹中看到了它们,但仍然是相同的
java.lang.NoClassDefFoundError:com/nimbusds/oauth2/sdk/id/ClientID

E2:以下是完整的pom.xml:

<?xml version="1.0" encoding="UTF-8"?>
<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>IdSrvJPoc</groupId>
    <artifactId>IdentityServerJavaPoc</artifactId>
    <version>1.0-SNAPSHOT</version>
    <dependencies>
        <dependency>
            <groupId>com.nimbusds</groupId>
            <artifactId>oauth2-oidc-sdk</artifactId>
            <version>4.9</version>
        </dependency>
    </dependencies>
</project>

4.0.0
IdSrvJPoc
IdentityServerJavaPoc
1.0-快照
com.usds
oauth2 oidc sdk
4.9

由于出现NoClassDefFoundError错误,您的lib文件夹中可能仍然缺少依赖项。确保还包括任何Numbus依赖项。

发布POM。请注意,如果您在IDEA中手动设置Java版本,这不是权威性的,您需要在POM中进行设置。此外,您需要确保您的运行时依赖项已打包到war中。谢谢!我在POM中编辑。为了这场战争,我很肯定他们会参与其中。我确信他们正在爆发战争,我认为这就是应用服务器正在使用的全部(尽管我还不确定)。
package com.idsrvjpoc;

import com.nimbusds.oauth2.sdk.*;
import com.nimbusds.oauth2.sdk.id.*;

import java.net.URI;
import java.net.URISyntaxException;

public class IdentityServerConfiguration {
    public String getRedirectUrl() throws URISyntaxException, SerializeException {
        URI authzEndpoint = new URI("myAuthEndpoint");
        ClientID clientID = new ClientID("1234");
        Scope scope = new Scope("openid");
        URI callback = new URI("http://localhost:8080/IdentityServerPoc_war_exploded/return.jsp");
        State state = new State();

        AuthorizationRequest request = new AuthorizationRequest.Builder(
                new ResponseType(ResponseType.Value.CODE), clientID).
                scope(scope).
                state(state).
                redirectionURI(callback).
                endpointURI(authzEndpoint).
                build();

        return request.toURI().toString();        
    }
}
<?xml version="1.0" encoding="UTF-8"?>
<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>IdSrvJPoc</groupId>
    <artifactId>IdentityServerJavaPoc</artifactId>
    <version>1.0-SNAPSHOT</version>
    <dependencies>
        <dependency>
            <groupId>com.nimbusds</groupId>
            <artifactId>oauth2-oidc-sdk</artifactId>
            <version>4.9</version>
        </dependency>
    </dependencies>
</project>