我们需要能够在某些环境中跳过子模块.
有问题的模块包含集成测试,需要半小时才能运行.因此我们希望在构建CI服务器时包含它,但是当开发人员在本地构建(并且测试运行)时,我们希望跳过该模块.
有没有办法在配置文件设置中执行此操作?我已经做了一些谷歌搜索,并在这里查看其他问题/答案,并没有找到一个很好的解决方案.
我想一个选项是pom.xml完全从父项中删除该子模块,只需在我们的CI服务器上添加另一个项目来构建该模块.
建议?
我想有一个bootstrap导航栏,其中一些导航项左对齐,一些是右对齐,有些则以它们之间的剩余空间为中心.
<div class="navbar">
<div class="navbar-inner">
<ul class="nav">
<li><a>Left</a></li>
</ul>
<ul class="nav nav-center">
<li><a>Center 1</a></li>
<li><a>Center 2</a></li>
</ul>
<ul class="nav pull-right">
<li><a>Right</a></li>
</ul>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
这个jsfiddle http://jsfiddle.net/b7whs/显示了这一点 - 我希望中心1和中心2导航项在一起,以导航栏为中心.这可能吗?
关于如何做到这一点,这里有很多建议; 他们都没有为我工作.这甚至可能吗?
在我的情况下,左边和右边的内容总是大小相同,所以我认为它应该是可行的.
我错过了一些痛苦明显的东西吗?或者世界上没有人真正使用java.util.BitSet?
以下测试失败:
@Test
public void testBitSet() throws Exception {
BitSet b = new BitSet();
b.set(0, true);
b.set(1, false);
assertEquals(2, b.length());
}
Run Code Online (Sandbox Code Playgroud)
我真的不清楚为什么我最终没有得到长度为2且值为10的BitSet.我偷看了java.util.BitSet的源代码,并且在随意检查时似乎无法在一点点之间做出充分的区分这已被设置为false并且有点从未设置为任何值...
(请注意,在构造函数中显式设置BitSet的大小无效,例如:
BitSet b = new BitSet(2);
Run Code Online (Sandbox Code Playgroud) Eclipse Indigo SR 1,wtp 3.3.0,m2eclipse 1.0.100.
将项目发布到WTP时,我的其中一个依赖项出现了奇怪的行为; 它不是将jar放在WEB-INF/lib文件夹中,而是创建一个以预期jar命名的文件夹,然后将源项树(显然)放在该文件夹下.我无法在依赖项pom.xml或此项目中看到任何pom.xml可能导致此问题的内容.
正如罐子一样,其他依赖关系也很好.
我的测试项目是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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>test</groupId>
<artifactId>dwhwtptest</artifactId>
<packaging>war</packaging>
<version>0.0.1-SNAPSHOT</version>
<name>dwhwtptest Maven Webapp</name>
<url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>org.onebusaway</groupId>
<artifactId>onebusaway-nyc-transit-data</artifactId>
<version>2.0.3-SNAPSHOT</version>
</dependency>
</dependencies>
<build>
<finalName>dwhwtptest</finalName>
</build>
</project>
Run Code Online (Sandbox Code Playgroud)
以下是最终发布的内容workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps:
$ find dwhwtptest/
dwhwtptest/
dwhwtptest//index.jsp
dwhwtptest//META-INF
dwhwtptest//META-INF/MANIFEST.MF
dwhwtptest//META-INF/maven
dwhwtptest//META-INF/maven/test
dwhwtptest//META-INF/maven/test/dwhwtptest
dwhwtptest//META-INF/maven/test/dwhwtptest/pom.properties
dwhwtptest//META-INF/maven/test/dwhwtptest/pom.xml
dwhwtptest//WEB-INF
dwhwtptest//WEB-INF/lib
dwhwtptest//WEB-INF/lib/onebusaway-nyc-transit-data-2.0.3-SNAPSHOT.jar
dwhwtptest//WEB-INF/lib/onebusaway-nyc-transit-data-2.0.3-SNAPSHOT.jar/META-INF
dwhwtptest//WEB-INF/lib/onebusaway-nyc-transit-data-2.0.3-SNAPSHOT.jar/META-INF/MANIFEST.MF
dwhwtptest//WEB-INF/lib/onebusaway-nyc-transit-data-2.0.3-SNAPSHOT.jar/org
dwhwtptest//WEB-INF/lib/onebusaway-nyc-transit-data-2.0.3-SNAPSHOT.jar/org/onebusaway
dwhwtptest//WEB-INF/lib/onebusaway-nyc-transit-data-2.0.3-SNAPSHOT.jar/org/onebusaway/nyc
dwhwtptest//WEB-INF/lib/onebusaway-nyc-transit-data-2.0.3-SNAPSHOT.jar/org/onebusaway/nyc/transit_data
dwhwtptest//WEB-INF/lib/onebusaway-nyc-transit-data-2.0.3-SNAPSHOT.jar/org/onebusaway/nyc/transit_data/model
dwhwtptest//WEB-INF/lib/onebusaway-nyc-transit-data-2.0.3-SNAPSHOT.jar/org/onebusaway/nyc/transit_data/model/NycQueuedInferredLocationBean.java
dwhwtptest//WEB-INF/lib/onebusaway-nyc-transit-data-2.0.3-SNAPSHOT.jar/org/onebusaway/nyc/transit_data/model/NycVehicleManagementStatusBean.java
dwhwtptest//WEB-INF/lib/onebusaway-nyc-transit-data-2.0.3-SNAPSHOT.jar/org/onebusaway/nyc/transit_data/services
dwhwtptest//WEB-INF/lib/onebusaway-nyc-transit-data-2.0.3-SNAPSHOT.jar/org/onebusaway/nyc/transit_data/services/ConfigurationService.java
dwhwtptest//WEB-INF/lib/onebusaway-nyc-transit-data-2.0.3-SNAPSHOT.jar/org/onebusaway/nyc/transit_data/services/VehicleTrackingManagementService.java
dwhwtptest//WEB-INF/web.xml
Run Code Online (Sandbox Code Playgroud)
这里是pom.xml依赖关系,onebusaway-nyc-transit-data模块:
<project …Run Code Online (Sandbox Code Playgroud) 我显然必须在这里做错事.我正在与资产管道(再次)搏斗.我有一个自定义字体,在我看来,要正确编译我需要asset_path()在多个地方使用,但它有一个意想不到的效果.
我知道有几种方法可以做到这一点,但这就是我目前所拥有的:
在application.css.scss.erb:
@import "<%= asset_path("my-font.css") %>";
my-font.css的源文件是app/assets/stylesheets/my-font.css.erb(它需要是一个.erb因为我也在asset_path()那里使用).
在application.rb我添加my-font.css到预编译列表.
config.assets.precompile << 'my-font.css'
当我清理public/assets并运行rake assets:precompileEverything的编译时,使用摘要,但应用于实际文件的摘要与计算和输入的摘要不同application.css.
生成的文件
public/assets/my-font-2f25682a1ea904a866ef9f44101a5a2e.css在public/assets/application-bba2edaee36771f4bdb5c89b8ec90aaf.css引用中是:
@import url(/assets/my-font-ed843d3b174ca427edf963e473ad9e9b.css);
我意识到我可能asset_path()比我应该使用更多,并且还通过url()导入文件而不是要求它们,但这让我最接近让事情发挥作用.
我怀疑其中一个摘要是在my-font.css 上通过ERB 之前计算的,另一个是在之后,但我不明白为什么以及如何修复它.
建议?
我很确定这个问题的答案是“不可能”,但我想我最后一次检查一下:
我正在将一些 Rails 应用程序迁移到 Heroku。它们现在的组织方式(按 URL 而言)是:
到目前为止我读到的所有内容都表明这在 Heroku 上是不可能的:每个应用程序必须有自己的子域(例如 site1.example.com、site2.example.com)。
我的客户不想更改 URL 结构(实际上可能有一些争论;我读过一些资料,这些资料说路径与子域对于 SEO 更好)。
我是否正确,这在 Heroku 上是不可能的?
我正在尝试使用http://www.aptatcip.com/APTA-TCIP-S-01%204.0_files/Schema%20Set.zipmaven-jaxb2-plugin来编译XSD .
使用此pom.xml命令和下面的命令行(从父文件夹运行),编译失败并显示相当神秘的错误消息(也在下面给出):
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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<artifactId>onebusaway-nyc</artifactId>
<groupId>org.onebusaway</groupId>
<version>2.14.0-SNAPSHOT</version>
</parent>
<groupId>org.onebusaway</groupId>
<artifactId>onebusaway-nyc-tcip-api</artifactId>
<packaging>jar</packaging>
<name>onebusaway-nyc-tcip-api</name>
<build>
<plugins>
<plugin>
<groupId>org.jvnet.jaxb2.maven2</groupId>
<artifactId>maven-jaxb2-plugin</artifactId>
<version>0.11.0</version>
<executions>
<execution>
<goals>
<goal>generate</goal>
</goals>
</execution>
</executions>
<configuration>
<schemaDirectory>src/main/resources</schemaDirectory>
<schemaIncludes>
<include>TCIP_4_0_0_Final.xsd</include>
</schemaIncludes>
</configuration>
</plugin>
</plugins>
</build>
</project>
Run Code Online (Sandbox Code Playgroud)
命令行(在父项目文件夹中)
MAVEN_OPTS="-server -Djava.awt.headless=true -Xmx2G -XX:MaxPermSize=512m -XX:+UseConcMarkSweepGC" mvn -X -U clean install -pl onebusaway-nyc-tcip-api
Run Code Online (Sandbox Code Playgroud)
错误信息
[ERROR] Failed to execute goal org.jvnet.jaxb2.maven2:maven-jaxb2-plugin:0.11.0:generate (default) on project onebusaway-nyc-tcip-api: Execution default of goal org.jvnet.jaxb2.maven2:maven-jaxb2-plugin:0.11.0:generate failed. UndeclaredThrowableException: javax.xml.bind.annotation.XmlElementRef.required() …Run Code Online (Sandbox Code Playgroud) 每次我将我的rails应用程序推送到Heroku(至少过去几个月,我会说),我必须使用熟悉的重置我的键
ActiveRecord::Base.connection.tables.each { |t| ActiveRecord::Base.connection.reset_pk_sequence!(t) }
Run Code Online (Sandbox Code Playgroud)
咒语.否则,当我尝试创建新记录时,我得到这样的postgresql失败:
PG::UniqueViolation: ERROR: duplicate key value violates unique constraint "users_clients_pkey" DETAIL: Key (id)=(401) already exists. : INSERT INTO "users_clients" ("user_id", "client_id") VALUES (20, 46) RETURNING "id"
Run Code Online (Sandbox Code Playgroud)
(这是一个示例;它发生在各种表上,具体取决于推送后在应用程序上执行的第一个操作.)
一旦我执行了重置键咒语,它就可以了,直到我下次推送到heroku ...即使我的推送不包括任何迁移.
我有点困惑为什么会发生这种情况以及可以采取哪些措施来防止这种情况发生.
不,我的部署任务中没有可数据化的操作代码.
我有一个ActiveRecord具有两个数据库属性的模型,total和processing_fees.
它定义了各种范围,例如(仅作为示例):
class Item < ActiveRecord::Base
scope :completed, joins(:order).where(:orders => {:status => Order::Status::COMPLETED})
scope :for_client, lambda {|client| where("client_id=?", client.id)}
...etc...
end
Run Code Online (Sandbox Code Playgroud)
我可以轻松地做一些事情:
Item.completed.for_client(client).sum(:total)
Run Code Online (Sandbox Code Playgroud)
但我想做的是:
Item.completed.for_client(client).calculate(:total - :processing_fees) # obv not valid
Run Code Online (Sandbox Code Playgroud)
有没有办法做这样的事情?
maven ×3
heroku ×2
java ×2
activerecord ×1
bitset ×1
css ×1
eclipse ×1
eclipse-wtp ×1
jaxb ×1
jenkins ×1
postgresql ×1
ruby ×1
xjc ×1