【问题标题】:Grails: Unable to import classes from wsdl2javaGrails:无法从 wsdl2java 导入类
【发布时间】:2015-03-18 15:29:10
【问题描述】:

我是 Grails 新手,从外部 wsdl 导入一些类时遇到问题。 我使用 wsdl2java 创建了一个名为 MacroArgument 的类

package xxxx.MacroArgument;
public class MacroArgument {
...
@XmlElement(name = "MacroArgument")
protected String macroArg;
@XmlElement(name = "ID", required = true, type = String.class)
@XmlJavaTypeAdapter(Adapter1 .class)
@XmlSchemaType(name = "long")
protected Long myParamOverrideID;
....getters/setters...
}

我创建了一个名为 TestDomainMacro 的新域

package it.xxx
import xxxx.MacroArgument;

class TestDomain {
MacroArgument testMacro
static constraints = {
}

}

在 Eclipse 中我没有任何问题,在使用命令“grails run-app”运行应用程序时出现此错误:

| Error Compilation error: startup failed:
C:\..pathtofile..\TestDomain.groovy: 3: unable to resolve class xxxx.MacroArgument 
@ line 3, column 1.
import xxxx.MacroArgument;

有人知道如何解决我的问题吗?

【问题讨论】:

  • 如果你这里的代码示例是完整的,那么你缺少MacroArgument中的包(应该是package xxxx?)。否则,所有常规 groovy-finds-nothing 规则都适用:检查与包匹配的目录结构,检查与文件名匹配的类名。 IDE 很可能会在这里提供帮助。
  • 我按照您的建议使用生成的类的包编辑了我的问题,并在我的 IDE (Eclipse) 中检查了所有资源是否正确链接(我的 TestDomain 中的导入过程是在我定义变量)。我希望我的解释有所帮助。
  • 你把这个生成的文件放在哪里了?它最终会在target 下编译吗?
  • 当然,目标/生成的类/..

标签: java grails wsdl wsdl2java


【解决方案1】:

我通过在外部库中插入我的类 MacroArgument 然后将该库添加到项目中解决了我的问题。然后我导入了扩展我的 Grails 应用程序域的类。

【讨论】:

    【解决方案2】:

    您在 Eclipse 中编译的 MacroArgument 在哪个文件夹中? 是添加文件夹吗?也许grails不知道? 尝试将此文件夹添加到 grails 配置中。

    查看this post

    如何在 Eclipse 中配置类路径?检查 buildconfig.groovy 中的输出。

    grails.project.class.dir = "目标/类" grails.project.test.class.dir = "目标/测试类"

    也许 grails 不知道 target/generated-classes/ ? 尝试在目标/类中编译它

    【讨论】:

    • 我在写到这里之前也尝试过这个解决方案,我通过创建一个外部库来解决我自己的问题,其中包含我自己的答案中报告的目标生成类。
    猜你喜欢
    • 1970-01-01
    • 2013-03-07
    • 1970-01-01
    • 2019-01-20
    • 2017-01-26
    • 2019-12-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多