在 Maven 项目中,当我运行测试用例时(在 Windows 上):
运行 TestApp.readParameter 时出错:命令行太长。为了减少它的长度,可以使用类路径文件。您想为项目的所有运行配置启用类路径文件模式吗?使能够
设置.iws
<property name="dynamic.classpath" value="true" />
如何解决这个问题?
在 Maven 项目中,当我运行测试用例时(在 Windows 上):
运行 TestApp.readParameter 时出错:命令行太长。为了减少它的长度,可以使用类路径文件。您想为项目的所有运行配置启用类路径文件模式吗?使能够
设置.iws
<property name="dynamic.classpath" value="true" />
如何解决这个问题?
从项目根文件夹打开文件.idea/workspace.xml文件,转到部分
<component name="PropertiesComponent">
并添加以下内容:
<property name="dynamic.classpath" value="true" />
请参阅dynamic.classpath 标志有什么作用?(IntelliJ 项目设置)。
不确定您要修复什么。如果您需要避免动态类路径,请修改您的依赖项,将库、项目文件和 JDK 移动到具有短路径的目录中。
编辑:您在评论中链接的错误是有道理的,但是,即使使用动态类路径,运行测试时的命令行也超出了操作系统限制。这可能是因为有很多命令行参数或选项不能被 IDEA 缩短,因为 IDEA 只能解决长类路径问题。我们对此无能为力,您应该修改将参数传递给应用程序的方式,以便命令行长度在限制范围内。
从IDEA方面,我们会改进这种情况的处理。当已使用动态类路径时,将不再显示此对话框,并且您将收到有关长命令行的另一条错误消息。我已经为此案例提交了一个新问题。
答案中提到的选项在我使用的版本 2020.2 中不可用。我点击了消息中显示的“启用”链接,这为我解决了这个问题。
我在使用社区版本时遇到了这个问题。我通过使用 Maven 配置运行项目来解决这个问题。
spring-boot:run -Dspring.profiles.active=local
在 Intellij 中,转到“编辑配置”(运行 -> 编辑配置),在“缩短命令行”行中出现的配置选项卡中,选择选项“类路径文件”/“@argFiles(Java 9+)”,最后下拉菜单中的选项。为我修好了。