当前位置: 首页 > 知识库问答 >
问题:

如何在Cucumber IntelliJ插件中从类路径(jar)链接StepDefination类

严兴言
2023-03-14

我希望使用来自maven jar依赖项的现有步骤定义类。

我的cucumber测试如果从Runner类运行(使用glue to package)&mvn CLI运行就可以工作。但是问题是IntelliJcucumber插件的步骤来自JAR。在特性文件中,我从jar中使用的步骤显示为“未定义的步骤引用:...”。我甚至不能从功能文件直接运行。

我有办法配置cucumber插件来使用classloader/jar中的stepdefinitions吗?

共有1个答案

童华池
2023-03-14

发布解决方案对我有效:

  • 使用IntelliJ 2020.1+
  • 在cucumber运行配置中:为类路径选择jar清单
  • 将Jar与源Jar一起部署到Nexus,如下所示

您可以通过将maven-source-plugin插件添加到您的构建中来简单地做到这一点

    <build>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-source-plugin</artifactId>
                    <version>3.2.0</version>
                    <executions>
                        <execution>
                            <id>attach-sources</id>
                            <goals>
                                <goal>jar</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
            </plugins>
    </build>

    null
    null
 类似资料:
  • 问题内容: 我试图在一些使用ant脚本的旧项目上进行“干净的专家”设置。我对蚂蚁知之甚少,所以我的问题似乎很幼稚。 我快完成了,但是由于classpath中的冗余,所以传递ant脚本失败了。如果我了解构建,则这些行应将“提供”范围内的每个库添加到类路径中: 然后这个: 将那些依赖项添加到ant.home目录中的库中。 麻烦的是,我使用的maven pom依赖于我无法修改的父pom,因此,我的类路径

  • 问题内容: 因此,我可以很好地做到这一点: 如果存在。我也可以高兴地做到这一点: 如果类文件存在于jar的适当部分中。简单的东西。但是我无法为自己的生活做这样的事情: 存在的地方和存在的地方(当然不包含MyClass)。 我会感到愚蠢吗? 问题答案: 可能:) 基本上,这只是在类路径和jar文件中包括(当前目录)。

  • 问题内容: 我在上,我尝试了下都无济于事。还尝试将jar移到src目录,但是java文件仍然无法编译。尝试在脚本中简单地导入httpclient。 问题答案: 安装您的JDK并将 其放置 。难道 不是 .jar文件复制到你的JDK的文件夹! 如果您还没有一个IDE,我建议您使用Eclipse或Netbeans这样的IDE。 我将建立一个新项目,创建或导入您的源,并为该项目设置一个类路径。 如果那行

  • 问题内容: 好的,我对linux和命令行非常陌生,对java也很陌生。我获得了一个构建Java程序的实习机会。我终于在我的机器(Windows)上完成了它,现在我必须将其迁移到Linux机器上进行测试,然后将其作为可执行文件运行。我已经在Linux上进行了很多阅读和研究,并了解了类路径,但是要完全理解它仍然很困难。只是还没有点击我。谁能使用示例以简化的方式解释类路径的目的?对我来说,最令人困惑的方

  • 问题内容: 是否可以指定一个Java ,其中包含另一个JAR文件中包含的JAR文件? 问题答案: 如果您试图创建一个包含应用程序及其所需库的jar,则有两种方法(我知道)。第一个是One-Jar,它使用特殊的类加载器来允许jar的嵌套。第二个是UberJar(或Shade),它会爆炸包含的库并将所有类放在顶级jar中。 我还应该提到UberJar和Shade分别是Maven1和Maven2的插件。

  • 问题内容: 以下是一些代码片段,这些片段指示我目前正在尝试什么,但是它不可靠。原则上,我认为因为您只能注册一次协议处理程序,偶尔其他库可能会先这样做。 xml-catalog.xml包含: 显然-xsd文件位于类路径中的正确位置。 问题答案: 解析器使用以下最小代码集来正常运行: 您可以选择将其指定为JVM参数: 该班是实现如下: 在请求资源时,使用正斜杠()很重要,这已由以下 堆栈溢出 问题回答