我试图在Openshift上创建ZendFramework的Skeleton应用程序.我使用这些指令创建了一个PHP5应用程序并在本地克隆它.我在存储库中克隆了ZendFramework框架应用程序,然后运行Composer以在本地安装依赖项.
然后我将我的存储库推送到Openshift,但是我收到以下错误消息:
Fatal error: Uncaught exception 'RuntimeException' with message
'Unable to load ZF2. Run `php composer.phar install`
or define a ZF2_PATH environment variable.' in
/var/lib/openshift/559d4d8f500446844700002b/app-
root/runtime/repo/init_autoloader.php:51 Stack trace: #0
/var/lib/openshift/559d4d8f500446844700002b/app-
root/runtime/repo/public/index.php(18): require() #1 {main} thrown in
/var/lib/openshift/559d4d8f500446844700002b/app-
root/runtime/repo/init_autoloader.php on line 51
Run Code Online (Sandbox Code Playgroud)
这表明我需要在Openshift上运行Composer.我该如何实现这一目标?
在我的本地存储库中,该/vendor目录中填充了依赖项目录.但是,/vendor在提交中会被忽略.我可以尝试提交并推送它,但这是正确的方法吗?它看起来不干净.
好吧,我正在使用Openshift来托管node.js应用程序,有些东西需要是私有的.所以我需要让Openshift私下访问我的Git存储库.我在互联网上找到了一些教程,但没有人帮助过我.我尝试使用PuTTY,我使用Git Bash,但我每次都失败了.每次我从Openshift得到这个错误:
error: build error: failed to fetch requested repository "myrepository.git" with provided credentials
(我在错误中更改了存储库URL)
那么,如何设置Openshift来访问私有存储库呢?我正在使用OpenShift 3.
在Maven项目中有条件地从编译中排除Java文件的最简单/正确的方法是什么?
我希望能够在pom.xml中设置“布尔”属性:
<properties>
<IncludeMayBe>true</IncludeMayBe>
</properties>
...
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<excludes>
????
</excludes>
</configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud)
有没有办法用编译器插件摆弄一些东西?还是我应该去找个人资料?我觉得创建个人资料过高,但也许这是唯一的解决方案...
编辑:
我们已经确定配置文件是解决方案。为了从pom.xml中进行条件激活,可以使用以下命令:
<profiles>
<profile>
<activation>
<property>
<IncludeMayBe>true</IncludeMayBe>
</property>
</activation>
...
</profile>
</profiles>
Run Code Online (Sandbox Code Playgroud) 我正在尝试从我的.jar中的资源加载一些GZIP-ed数据,但是我收到了一条java.io.IOException: Not in GZIP格式消息.
当我从文件加载相同的数据时,我没有收到任何错误.为什么?(这是我用NetBeans编译的maven项目)
以下是生成问题的测试代码:
public static void main(String[] args) throws IOException {
byte[] dummy = new byte[10];
// Reading data from file
File f = new File("C:\\Temp\\422\\convert1900.data");
DataInputStream is = new DataInputStream(
new GZIPInputStream(new FileInputStream(f)));
while ( is.read(dummy) != -1 );
// Reading data from resource
InputStream ins = CompareTest2.class.getResourceAsStream(
"/net/cv/convert1900.data");
is = new DataInputStream(
new GZIPInputStream(ins)); // Issue happens here
while ( is.read(dummy) != -1 );
}
Run Code Online (Sandbox Code Playgroud)
编辑
两个"文件"都具有相同的内容.
编辑2
我只是尝试使用以下代码计算两种方法获得的字节数:
public static void main(String[] …Run Code Online (Sandbox Code Playgroud) 我有一个maven项目在编译过程中从注释处理器生成一个新类.该类已成功生成/target/generated-sources/annotations/,但未编译成.jar.为什么?
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<source>${project.build.source}</source>
<target>${project.build.target}</target>
<encoding>${project.build.sourceEncoding}</encoding>
<compilerArgument>-Xlint</compilerArgument>
<annotationProcessors>
<annotationProcessor>net.preprocessing.MyAnnotationProcessor</annotationProcessor>
</annotationProcessors>
</configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud)
编辑
这似乎是一个已知的错误.如果有人有可操作的解决方法,欢迎.
编辑2
我昨天已经进行了一些测试,但是故障单中建议的解决方法不起作用.我提供了一个测试用例.如果有人知道如何解决这个问题,欢迎.请记住,我是注释处理的新手,因此可能会有一些我不知道的东西.
可以使用Java中的枚举来保证对象的唯一实例,如下所示:
public enum EmmaTest {
;
public static int someStaticMethod() {
return 33;
}
}
Run Code Online (Sandbox Code Playgroud)
如何在这些对象上实现100%的Emma测试覆盖率?可能吗?或者是否可以告诉Emma忽略某些方法?
我能得到的最好的是:

我在一些代码上运行findbugs并且它说readObject(...)方法必须是私有的才能被调用以进行序列化/反序列化?为什么?如果它被公开会有什么问题?
Java String.hashcode()完全独立于Locale吗?换句话说,如果有人摆弄默认值Locale,我们是否100%确定这不会影响哈希码?
我们知道这种小小的影响toUpperCase()和toLowerCase().
ServletRequest.getRemoteAddr()的Javadoc 没有提到任何有关返回的IP地址格式的信息.实现过滤器时这很烦人.我们可以依靠什么?有没有可以依赖的官方规范?谢谢.
java ×8
maven ×2
openshift ×2
compilation ×1
composer-php ×1
credentials ×1
emma ×1
enums ×1
file ×1
findbugs ×1
format ×1
github ×1
gzip ×1
hashcode ×1
ip-address ×1
loading ×1
locale ×1
pdfview ×1
php ×1
repository ×1
resources ×1
servlets ×1
unit-testing ×1