Mule Anypoint Studio groovy.lang.MissingPropertyException:没有此类属性:类的StringEscapeUtils

Mule Anypoint Studio groovy.lang.MissingPropertyException:没有此类属性:类的StringEscapeUtils,groovy,mule,anypoint-studio,apache-commons-lang3,Groovy,Mule,Anypoint Studio,Apache Commons Lang3,这是针对4.3 EE运行时上的Mule 4的 更新 POM文件具有标准依赖关系,多亏了Aled的回答,还将其作为共享库包括在内: <build> <plugins> <plugin> <groupId>org.mule.tools.maven</groupId> <artifactId>mule-maven-plugin</artifactId&g

这是针对4.3 EE运行时上的Mule 4的

更新 POM文件具有标准依赖关系,多亏了Aled的回答,还将其作为共享库包括在内:

<build>
    <plugins>
        <plugin>
            <groupId>org.mule.tools.maven</groupId>
            <artifactId>mule-maven-plugin</artifactId>
            <version>${mule.maven.plugin.version}</version>
            <extensions>true</extensions>
            <configuration>
            <sharedLibraries>
                <sharedLibrary>
                        <groupId>org.apache.commons</groupId>
                        <artifactId>commons-lang3</artifactId>
                    </sharedLibrary>
                    <sharedLibrary>
                        <groupId>org.springframework</groupId>
                        <artifactId>spring-beans</artifactId>
                    </sharedLibrary>
                <sharedLibrary>
                        <groupId>org.springframework</groupId>
                        <artifactId>spring-context</artifactId>
                    </sharedLibrary>
                <sharedLibrary>
                        <groupId>org.springframework.security</groupId>
                        <artifactId>spring-security-core</artifactId>
                    </sharedLibrary>
                <sharedLibrary>
                        <groupId>org.springframework.security</groupId>
                        <artifactId>spring-security-config</artifactId>
                    </sharedLibrary>
                <sharedLibrary>
                        <groupId>org.springframework</groupId>
                        <artifactId>spring-core</artifactId>
                    </sharedLibrary>
                </sharedLibraries>
            </configuration>
        </plugin>
    </plugins>
</build>


<dependencies>
    <dependency>
        <groupId>org.mule.connectors</groupId>
        <artifactId>mule-http-connector</artifactId>
        <version>1.5.6</version>
        <classifier>mule-plugin</classifier>
    </dependency>
    <dependency>
        <groupId>org.mule.connectors</groupId>
        <artifactId>mule-sockets-connector</artifactId>
        <version>1.1.5</version>
        <classifier>mule-plugin</classifier>
    </dependency>
    <dependency>
        <groupId>com.mulesoft.modules</groupId>
        <artifactId>mule-secure-configuration-property-module</artifactId>
        <version>1.2.2</version>
        <classifier>mule-plugin</classifier>
    </dependency>
    <dependency>
        <groupId>com.mulesoft.connectors</groupId>
        <artifactId>mule-amazon-s3-connector</artifactId>
        <version>5.6.0</version>
        <classifier>mule-plugin</classifier>
    </dependency>
    <dependency>
        <groupId>com.mulesoft.connectors</groupId>
        <artifactId>mule-amazon-sns-connector</artifactId>
        <version>4.4.2</version>
        <classifier>mule-plugin</classifier>
    </dependency>
    <dependency>
        <groupId>org.mule.modules</groupId>
        <artifactId>mule-spring-module</artifactId>
        <version>1.3.3</version>
        <classifier>mule-plugin</classifier>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-beans</artifactId>
        <version>5.1.6.RELEASE</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context</artifactId>
        <version>5.1.6.RELEASE</version>
    </dependency>
    <dependency>
        <groupId>org.springframework.security</groupId>
        <artifactId>spring-security-core</artifactId>
        <version>5.1.5.RELEASE</version>
    </dependency>
    <dependency>
        <groupId>org.springframework.security</groupId>
        <artifactId>spring-security-config</artifactId>
        <version>5.1.5.RELEASE</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-core</artifactId>
        <version>5.1.6.RELEASE</version>
    </dependency>
    <dependency>
        <groupId>org.mule.modules</groupId>
        <artifactId>mule-scripting-module</artifactId>
        <version>1.1.6</version>
        <classifier>mule-plugin</classifier>
    </dependency>
    <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-lang3</artifactId>
        <version>3.10</version>
    </dependency>
</dependencies>

<repositories>
      <repository>
        <id>anypoint-exchange</id>
        <name>Anypoint Exchange</name>
        <url>https://maven.anypoint.mulesoft.com/api/v1/maven</url>
        <layout>default</layout>
    </repository>
    <repository>
        <id>mulesoft-releases</id>
        <name>MuleSoft Releases Repository</name>
        <url>https://repository.mulesoft.org/releases/</url>
        <layout>default</layout>
    </repository>
</repositories>
<pluginRepositories>
    <pluginRepository>
        <id>mulesoft-releases</id>
        <name>mulesoft release repository</name>
        <layout>default</layout>
        <url>https://repository.mulesoft.org/releases/</url>
        <snapshots>
            <enabled>false</enabled>
        </snapshots>
    </pluginRepository>
</pluginRepositories>
电话本身完全失败了:

StringEscapeUtils.escapeCsv(csvText);
实际误差:

org.mule.runtime.core.internal.exception.OnErrorPropagateHandler: 
********************************************************************************
Message               : groovy.lang.MissingPropertyException: No such property: StringEscapeUtils for class: Script2
Element               : test/processors/2 @ test:test/testScript.xml:47 (test StringEscapeUtil)
Element DSL           : <scripting:execute doc:name="test StringEscapeUtil" doc:id="3f3fafea-e42c-48d2-820b-69f683307b69" engine="groovy">
<scripting:code>import org.apache.commons.lang.*;

String test ="This is a test ,string \"to escape";

log.info(StringEscapeUtils.escapeCsv(test))</scripting:code>
</scripting:execute>
Error type            : SCRIPTING:EXECUTION
********************************************************************************
Message               : groovy.lang.MissingPropertyException: No such property: StringEscapeUtils for class: Script2
因为您需要将Apache Commons Lang3库标记为pom中的,所以脚本模块可以看到它:

        <plugin>
            <groupId>org.mule.tools.maven</groupId>
            <artifactId>mule-maven-plugin</artifactId>
            <version>${mule.maven.plugin.version}</version>
            <extensions>true</extensions>
            <configuration>
                <sharedLibraries>
                    <sharedLibrary> <!-- make commons-lang3 shared -->
                        <groupId>org.apache.commons</groupId>
                        <artifactId>commons-lang3</artifactId>
                    </sharedLibrary>
                  </sharedLibraries>
            </configuration>
        </plugin>

org.mule.tools.maven
mule maven插件
${mule.maven.plugin.version}
真的
org.apache.commons
commons-lang3

感谢您的洞察力。我应该补充一点,这也需要作为一个标准依赖项添加,否则它将无法编译,令人沮丧的是,它没有给出真正的解释。我将更新原始问题。正确的解决方案-我的错误是将导入实现为lang而不是lang3。这就是当你测试某个东西而忘记将其恢复到原始值时发生的情况。在所有类型的测试之后,我将lang3更改为lang,这导致了第二个问题。亚历德的解决方案是正确的,并将其标记为正确的。
StringEscapeUtils.escapeCsv(csvText);
Message               : groovy.lang.MissingPropertyException: No such property: StringEscapeUtils for class: Script2
        <plugin>
            <groupId>org.mule.tools.maven</groupId>
            <artifactId>mule-maven-plugin</artifactId>
            <version>${mule.maven.plugin.version}</version>
            <extensions>true</extensions>
            <configuration>
                <sharedLibraries>
                    <sharedLibrary> <!-- make commons-lang3 shared -->
                        <groupId>org.apache.commons</groupId>
                        <artifactId>commons-lang3</artifactId>
                    </sharedLibrary>
                  </sharedLibraries>
            </configuration>
        </plugin>