我正在尝试使用Netbeans 从Java 7/8 EE教程*部署第一个示例(hello1),我遇到了问题.项目编译没有问题,但在部署时会出错:
Failed to execute goal org.codehaus.cargo:cargo-maven2-plugin:1.4.2:redeploy (deploy) on project hello1: Execution deploy of goal org.codehaus.cargo:cargo-maven2-plugin:1.4.2:redeploy failed: Failed to create deployer with implementation class org.codehaus.cargo.container.glassfish.GlassFish4xInstalledLocalDeployer for the parameters (container [id = [glassfish4x]], deployer type [installed]). InvocationTargetException: The container configuration directory "/home/DeltaLima/glassfish4/glassfish/domains" does not exist. Please configure the container before attempting to perform any local deployment. Read more on: http://cargo.codehaus.org/Local+Configuration -> [Help 1]
Run Code Online (Sandbox Code Playgroud)
与教程相反,我在/ opt/glassfish-v4中安装了GlassFish服务器,而不是/ home/DeltaLima/glassfish4.在Netbeans中我以这种方式进行配置,因此我可以毫无问题地启动,停止和检查服务器的状态.服务器配置中的域文件夹已正确设置.
似乎与Netbeans捆绑的Maven安装期望服务器安装在用户的主目录中.
我是Java EE,Netbeans和Maven的新手,因此我没有配置Netbeans/Maven的经验,错误消息中提供的教程或链接都没有多大帮助.
如何在Netbeans中设置项目,使其部署在正确的目录中?
Netbeans版本7.3.1
Glassfish版本4.0
操作系统:Ubuntu
*答案已更新,以便考虑Java 8 EE
我想通过他们的Deb repo将Typesafe Stack安装到Ubuntu Server,但是没有下载所有的OpenJDK软件包.我安装了Oracle JDK 6并在我的PATH中通过更新替代方案并安装OpenJDK打破了一些东西.
最好的方法是什么?我似乎不能使用apt-get --no-install-recommended标志:
$> sudo apt-get install --no-install-recommends typesafe-stack sbt
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
ca-certificates-java default-jre default-jre-headless g8 java-common libaccess-bridge-java libaccess-bridge-java-jni openjdk-6-jre
openjdk-6-jre-headless openjdk-6-jre-lib
Suggested packages:
equivs icedtea-plugin sun-java6-fonts ttf-sazanami-gothic ttf-kochi-gothic ttf-sazanami-mincho ttf-kochi-mincho ttf-telugu-fonts ttf-oriya-fonts
ttf-kannada-fonts ttf-bengali-fonts
Recommended packages:
icedtea-netx icedtea-6-jre-cacao icedtea-6-jre-jamvm
The following NEW packages will be installed:
ca-certificates-java default-jre default-jre-headless g8 java-common libaccess-bridge-java libaccess-bridge-java-jni openjdk-6-jre
openjdk-6-jre-headless openjdk-6-jre-lib …
Run Code Online (Sandbox Code Playgroud) 我刚开始学习C++,从JAVA环境切换.
阅读一些Boost示例时,我发现在类中定义了以下两种方法:
const char* data() const
{
return data_;
}
char* data()
{
return data_;
}
Run Code Online (Sandbox Code Playgroud)
有两件事令我困惑.
首先是保留字const
,我想我在这里理解.第一个const
指的是char*
哪个意味着我无法改变指针的值.第二个const
告诉我,调用该函数不会改变我调用的对象的状态.这是正确的解释吗?
第二点混淆是为什么人们会有两个具有相同名称和签名的方法.编译器如何知道我打算调用哪一个?我怎么知道我是否被允许在打电话后更改数据data()
而不知道我打了哪两个?