我有一个Java应用程序,它在Web容器(Jetty目前)内运行,并通过Web服务响应请求.
现在我想创建一个机制,允许尽可能容易地部署(将WAR文件传输到服务器,在那里安装新版本)应用程序的新版本到达Amazon EC2实例(理想情况下 - 通过运行一些Maven命令) .
我正在使用Beanstalk进行版本控制,它们提供了部署支持,但我无法弄清楚如何将其应用到我的场景中.
有没有关于如何使用Maven(有或没有Beanstalk)将Web应用程序部署到Amazon EC2的教程?
更新1(10.04.2013): Beanstalk工作人员建议我使用SSH部署.
更新2(2013年4月11日23:17 MSK):
在我第一次尝试使用Maven Cargo插件时,我向我添加了以下内容pom.xml:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
[...]
<build>
[...]
<plugin>
<groupId>org.codehaus.cargo</groupId>
<artifactId>cargo-maven2-plugin</artifactId>
<configuration>
<container>
<containerId>Heaven7</containerId>
<type>remote</type>
</container>
<configuration>
<type>runtime</type>
<properties>
<cargo.remote.username>myusername</cargo.remote.username>
<cargo.remote.password>mypassword</cargo.remote.password>
</properties>
</configuration>
<!-- Deployer configuration -->
<deployer>
<type>remote</type>
</deployer>
<deployables>
<deployable>
<groupId>ru.mycompany</groupId>
<artifactId>my-product</artifactId>
<type>war</type>
</deployable>
</deployables>
</configuration>
</plugin>
</plugins>
</build>
[...]
</project>
Run Code Online (Sandbox Code Playgroud)
然后我跑了mvn cargo:deploy并获得了以下输出:
[ERROR] Failed to execute goal org.codehaus.cargo:cargo-maven2-plugin:1.3.3:dep
oy (default-cli) on project [...]: …Run Code Online (Sandbox Code Playgroud) amazon-ec2 amazon-web-services maven-3 maven continuous-deployment
我正在尝试在Tomcat 7容器上安装Jenkins.
当我尝试打开Jenkins网络应用程序时,我收到以下错误:
Unable to create the home directory '/home/myuser/jenkins/work'. This is most
likely a permission problem.
To change the home directory, use JENKINS_HOME environment variable or set
the JENKINS_HOME system property. See Container-specific documentation for
more details of how to do this.
Run Code Online (Sandbox Code Playgroud)
在开始Tomcat之前,我做到了chmod uog+rwx /home/myuser/jenkins.所以,我想Jenkins应该能够在那里创建一个子目录.
但显然它不能.
我该如何解决这个问题?
更新1:
lt -lt 回报
drwxrwxrwx 2 root ec2-user 4096 Jun 23 10:25 jenkins
对/home/myuser/jenkins./home/myuser/jenkins/work因为詹金斯应该创造它而不存在.
更新2:刚尝试创建work目录并chmod uog+rwx在其上运行.它没有帮助.
更新3:其他信息:
mvn …我为版本2创建了一个Google API密钥,并在清单中使用了该密钥,但我无法在设备上显示地图.
我已按照谷歌地图文档中提供的所有内容.我也用过这个链接.
MainActivity.java.
包com.example.googlenewmap;
import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.SupportMapFragment;
import com.google.android.gms.maps.model.BitmapDescriptorFactory;
import com.google.android.gms.maps.model.LatLng;
import com.google.android.gms.maps.model.MarkerOptions;
public class MainActivity extends FragmentActivity {
static final LatLng HAMBURG = new LatLng(53.558, 9.927);
static final LatLng KIEL = new LatLng(53.551, 9.993);
private GoogleMap map;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
map = ((SupportMapFragment) getSupportFragmentManager()
.findFragmentById(R.id.map)).getMap();
if (map != null) {
map.addMarker(new MarkerOptions().position(HAMBURG)
.title("Hamburg"));
map.addMarker(new MarkerOptions()
.position(KIEL)
.title("Kiel")
.snippet("Kiel")
.icon(BitmapDescriptorFactory
.fromResource(R.drawable.ic_launcher)));
}
}
}
Run Code Online (Sandbox Code Playgroud)
清单文件
<?xml version="1.0" …Run Code Online (Sandbox Code Playgroud) 我有一个运行在计算机1上的ASP.NET应用程序。
当用户从计算机2访问该页面时,我想找出用户名,以该用户名登录计算机2。
我尝试使用
Request.LogonUserIdentity.NamePage.User.Identity.Name((WindowsIdentity)HttpContext.Current.User.Identity).Name((WindowsIdentity)HttpContext.Current.User.Identity).UserRequest.LogonUserIdentity.User但这不起作用。
Request.LogonUserIdentity.Name返回NT AUTHORITY\IUSR,Request.LogonUserIdentity.User- S-1-5-17,其他所有-空字符串。NT AUTHORITY\IUSR是运行Web应用程序的计算机上的用户,而不是客户端计算机上的用户。
在web.config我禁用模仿使用
<authentication mode="Windows"/>
<identity impersonate="false"/>
Run Code Online (Sandbox Code Playgroud)
为了获得访问网页的用户的用户名,我该怎么办?
我有一个基于CDT的调试器,并希望在线程节点中的字母中添加一些信息.我希望红色矩形包围的字母显示一些额外的信息(见下面的截图).

AFAIR,此标签的格式字符串ThreadVMNode_No_columns__text_format在文件中的属性中设置C:\Users\...\workspace\org.eclipse.cdt.dsf.gdb.ui\src\org\eclipse\cdt\dsf\gdb\internal\ui\viewmodel\launch\MessagesForGdbLaunchVM.properties.
# {0} - name available, 0=not available/1=available
# {1} - name
# {2} - ID available, 0=not available/1=available
# {3} - ID
# {4} - OS Thread ID available, 0=not available/1=available
# {5} - OS Thread ID
# {6} - Core available, 0=not available/1=available
# {7} - Core
# {8} - 0=running/1=suspended
# {9} - state change reason available, 0=not available/1=available
# {10} - state change reason
# {11} - state change details available, …Run Code Online (Sandbox Code Playgroud) 我有一个包含多个模块的 Maven 项目,包括org.eclipse.cdt.core. 由于某种原因,客户org.eclipse.cdt.core也想构建。
我想生成一个聚合的 Checkstyle 报告,其中org.eclipse.cdt.core.*排除了一些文件,包括所有(包括子包)类。
为此,我将excludes标签指定为
<excludes>**/org/eclipse/cdt/core/**/*,org.eclipse.cdt.core/src/**/*,../org.eclipse.cdt.core/src/**/*,org.eclipse.cdt.core/**/*</excludes>
Run Code Online (Sandbox Code Playgroud)
然后我运行mvn clean checkstyle-aggregate site,打开文件target/checkstyle-result.xml并在其中找到以下几行:
<file name="C:\dev\ide\org.eclipse.cdt.core\src\org\eclipse\cdt\core\AbstractExecutableExtensionBase.java">
<error line="0" severity="error" message="File does not end with a newline." source="com.puppycrawl.tools.checkstyle.checks.NewlineAtEndOfFileCheck"/>
<error line="10" severity="error" message="Line is longer than 80 characters (found 81)." source="com.puppycrawl.tools.checkstyle.checks.sizes.LineLengthCheck"/>
<error line="15" severity="error" message="Line is longer than 80 characters (found 83)." source="com.puppycrawl.tools.checkstyle.checks.sizes.LineLengthCheck"/>
Run Code Online (Sandbox Code Playgroud)
这意味着我的<excludes>标签不起作用。
然后,我把线
<properties>
<checkstyle.skip>true</checkstyle.skip>
</properties>
Run Code Online (Sandbox Code Playgroud)
到pom.xml要从 Checkstyle 中排除的所有模块的文件中,但这没有帮助。
如何在没有某些模块结果的情况下生成 CheckStyle 报告(XML 或 HTML)(除了获取 180 …
我正在开发一个Postgres支持的系统,其中将存储许多二进制文件.
我至少有两个选择:
我需要考虑哪些标准才能做出最佳决策?
我运行测试时遇到以下错误:
org.dbunit.dataset.NoSuchColumnException: myTable.MYFIELD - (Non-uppercase input column: myfield) in ColumnNameToIndexes cache map. Note that the map's column names are NOT case sensitive.
at org.dbunit.dataset.AbstractTableMetaData.getColumnIndex(AbstractTableMetaData.java:117)
Run Code Online (Sandbox Code Playgroud)
我设置了断点org.dbunit.dataset.AbstractTableMetaData#getColumnIndex并发现了以下内容.在IntelliJ Idea中,该方法如下所示:
public int getColumnIndex(String columnName) throws DataSetException
{
logger.debug("getColumnIndex(columnName={}) - start", columnName);
if(this._columnsToIndexes == null)
{
// lazily create the map
this._columnsToIndexes = createColumnIndexesMap(this.getColumns());
}
String columnNameUpperCase = columnName.toUpperCase();
Integer colIndex = (Integer) this._columnsToIndexes.get(columnNameUpperCase);
if(colIndex != null)
{
return colIndex.intValue();
}
else
{
throw new NoSuchColumnException(this.getTableName(), columnNameUpperCase,
" (Non-uppercase input column: "+columnName+") in …Run Code Online (Sandbox Code Playgroud) 我需要使用 JIRA REST 客户端版本 5.2.0 或更高版本。Cloud JIRA 不适用于早期版本的客户端。
在我的pom.xml文件中,我有以下依赖项:
<dependency>
<groupId>com.atlassian.jira</groupId>
<artifactId>jira-rest-java-client-core</artifactId>
<version>5.2.1</version>
</dependency>
<dependency>
<groupId>com.atlassian.jira</groupId>
<artifactId>jira-rest-java-client-app</artifactId>
<version>5.2.1</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
当我构建项目时,我遇到这样的异常:
Failed to execute goal on project XXXXXXXXX: Could not resolve dependencies for project XXXXXXXXXX:jar:XXXX: Failed to collect dependencies at com.atlassian.jira:jira-rest-java-client-core:jar:5.2.1: Failed to read artifact descriptor for com.atlassian.jira:jira-rest-java-client-core:jar:5.2.1: Could not find artifact com.atlassian.platform:platform:pom:3.1.7 in MY_REPO (http://XXXXXXXXXX/repository/maven-public) -
Run Code Online (Sandbox Code Playgroud)
com.atlassian.platform:platform:pom:3.1.7未在mvnrepository中列出。有版本3.1.12和3.1.17,但没有3.1.7。有人告诉我该版本3.1.7可能存在与安全相关的错误,因此被 Atlassian 删除。
和jira-rest-java-client-app都是jira-rest-java-client-parentjira-rest-java-client-core的子级,它使用该平台的版本: …
我有一个 Spring Boot 应用程序,它在 Apache Tomcat 服务器中运行。其中,application.yaml我有以下条目:
mail:
pop3Host: ${MAIL_HOSTNAME}
inboxFolder: ${MAIL_INBOX}
hostName: ${MAIL_HOSTNAME}
port: ${MAIL_PORT}
userName: ${MAIL_USERNAME}
password: ${MAIL_PASSWORD}
Run Code Online (Sandbox Code Playgroud)
该应用程序从 IntelliJ Idea 中部署到 Tomcat,因此我可以对其进行调试。
我使用以下命令启动Tomcat:
export JPDA_OPTS="-agentlib:jdwp=transport=dt_socket,address=8090,server=y,suspend=n"
export JAVA_OPTS=" -DMAIL_HOSTNAME='smtp.provider.com' -DMAIL_INBOX='MAIL_INBOX' -DMAIL_PORT='587' -DMAIL_USERNAME='username' -DMAIL_PASSWORD='XXXXXXXX'"
export CATALINA_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,address=8090,server=y,suspend=n"
./catalina.sh jpda start
Run Code Online (Sandbox Code Playgroud)
然而,我之后
我得到的异常表明占位符没有被替换。
我该如何修复它,即确保我可以application.yaml通过环境变量指定一些信息(如用户名和密码)(这样我就不会在 中包含实际凭据application.yaml)?
java ×5
maven ×3
maven-3 ×2
.net ×1
amazon-ec2 ×1
android ×1
asp.net ×1
binary-data ×1
binaryfiles ×1
c# ×1
checkstyle ×1
dbunit ×1
eclipse ×1
eclipse-cdt ×1
eclipse-rcp ×1
google-maps ×1
hudson ×1
jenkins ×1
jira ×1
postgresql ×1
spring-boot ×1
testing ×1
tomcat9 ×1