【问题标题】:Unable to start Liberty Profile from Command Line : failed to create task or type antlib:com.ibm.websphere.wlp.ant:server无法从命令行启动 Liberty Profile:未能创建任务或键入 antlib:com.ibm.websphere.wlp.ant:server
【发布时间】:2014-11-20 23:24:52
【问题描述】:

我正在尝试启动 WebSphere Liberty 配置文件服务器(名为 WL_UAT_Server)

<project basedir="." default="help" name="myProject" xmlns:wlp="antlib:com.ibm.websphere.wlp.ant">
      <target name="liberty-start">
        <wlp:server id="test" installDir="/opt/IBM/WebSphere/Liberty" operation="start" serverName="WL_UAT_Server"/>
      </target>
</project>

来自以下命令:

ant -f /opt/myProject/build.xml "liberty-start"

但系统出现以下错误:

/opt/myProject/build.xml:144: Problem: failed to create task or type antlib:com.ibm.websphere.wlp.ant:server
Cause: The name is undefined.
Action: Check the spelling.
Action: Check that any custom tasks/types have been declared.
Action: Check that any <presetdef>/<macrodef> declarations have taken place.
No types or tasks have been defined in this namespace yet

This appears to be an antlib declaration. 
Action: Check that the implementing library exists in one of:
        -/usr/share/ant/lib
        -/home/root/.ant/lib
        -a directory added on the command line with the -lib argument


Total time: 2 seconds

跟随ant -diagonstics 命令的输出

------- Ant 诊断报告 ------- Apache Ant 1.7.1 版本于 2010 年 4 月 26 日编译

-------------------------------------------
 Implementation Version
-------------------------------------------
core tasks     : 1.7.1
optional tasks : not available

-------------------------------------------
 ANT PROPERTIES
-------------------------------------------
ant.version: Apache Ant version 1.7.1 compiled on April 26 2010
ant.java.version: 1.6
ant.core.lib: /usr/share/java/ant-1.7.1.jar
ant.home: /usr/share/ant

-------------------------------------------
 ANT_HOME/lib jar listing
-------------------------------------------
ant.home: /usr/share/ant
ant.jar (1339582 bytes)
ant-launcher.jar (12243 bytes)
ant-bootstrap.jar (19013 bytes)
wlp-anttasks.jar (43990 bytes)

-------------------------------------------
 USER_HOME/.ant/lib jar listing
-------------------------------------------
user.home: /root
No such directory.

感谢任何帮助。

【问题讨论】:

  • 您是将 Ant 作为独立工具运行还是从 Eclipse 或其他开发工具运行?
  • @Gas 我从命令行运行它。
  • 虽然幸运:-)。我想,也许你是从 Eclipse 中调用它,因为它使用不同的类路径和 ANT_HOME。
  • @Gas 知道我做错了什么吗?

标签: ant websphere-8 websphere-liberty


【解决方案1】:

我已经在 ant 1.7.1 上测试了以下构建文件,它工作正常。 如果我从 ant\lib 文件夹中删除 wlp-anttasks.jar,我会收到您的错误。 所以仔细检查,如果文件在那里并且是可读的 - 正确的权限?也许您正在从不同的用户运行构建?或者您可能无权访问 Liberty 或服务器文件夹?

检查同一用户是否可以使用以下命令从命令行启动服务器:

C:\IBM\WebSphere\wlp\bin>server start WLP_UAT_Server
Starting server WLP_UAT_Server.
Server WLP_UAT_Server started.

这是我的build.xml 文件

<project name="libertyTest" default="start-server" xmlns:wlp="antlib:com.ibm.websphere.wlp.ant">
    <description>
            description
    </description>
    <!-- set global properties for this build -->
      <property name="wlp_install_dir" value="C:/IBM/WebSphere/wlp"/>
      <property name="serverName" value="WLP_UAT_Server"/>

    <target name="start-server" description="description">
        <wlp:server id="wlp.ant.test" installDir="${wlp_install_dir}" operation="start" serverName="${serverName}" />
        <wlp:server ref="wlp.ant.test" operation="status"/>
    </target>

    <target name="stop-server" description="description">
            <wlp:server id="wlp.ant.test" installDir="${wlp_install_dir}" operation="stop" serverName="${serverName}" />
    </target>
</project>

来自诊断的 Ant 属性:

-------------------------------------------
 ANT PROPERTIES
-------------------------------------------
ant.version: Apache Ant version 1.7.1 compiled on June 27 2008
ant.java.version: 1.6
ant.core.lib: C:\install\apache-ant-1.7.1\lib\ant.jar
ant.home: C:\install\apache-ant-1.7.1\bin\..

【讨论】:

  • 我仍然无法从命令行启动它。它给了我我在问题中提到的相同错误,并且在 Eclipse 中运行良好。
  • @Prera​​kTiwari 也许您的 Ant 安装不正确。查看您的 ANT 属性,他们很奇怪 - 您的 ant.core.lib 与您的 ant.home 来自不同的文件夹。
  • 我已经安装并在我的机器上使用以下命令:“yum install ant”。我要卸载它并尝试其他方法吗?
  • @Prera​​kTiwari 是的,卸载它并从archive.apache.org/dist/ant/binaries下载并解压缩安装
  • 卸载 ant 并再次安装就可以了。它工作得很好。谢谢。
【解决方案2】:

您似乎错过了将wlp-anttasks.jar 复制到$ANT_HOME/lib 目录的步骤。或者,如果您不想更改 ant 安装,您可以使用 typedef 任务加载 Liberty 任务,例如:

<typedef resource="net/wasdev/wlp/ant/antlib.xml" 
       uri="antlib:net.wasdev.wlp.ant" 
       classpath="somewhere/wlp-anttasks.jar"/>

【讨论】:

  • 我怀疑类似,但如果你看看他的ANT_HOME/lib 列表,罐子已经在那里了。除非他以某种方式调用了不同的蚂蚁。
  • @Holly Cummins...我已将 wlp-anttasks.jar 复制到 $ANT_HOME/lib 文件夹中。您可以在问题描述的“ANT_HOME/lib jar Listing”下看到。
猜你喜欢
  • 2016-04-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-06-25
  • 1970-01-01
  • 1970-01-01
  • 2019-07-01
相关资源
最近更新 更多