我刚刚将 Hibernate 使用的版本升级到 5.6.1,现在似乎已弃用一些与类型相关的注释:
@TypeDef(name = "json", typeClass = JsonBinaryType::class)
@Type(type = "json")
Run Code Online (Sandbox Code Playgroud)
我没有找到任何关于该做什么的文档,除了
6.0 将引入一系列新的类型安全注释来达到相同的目的
我们的质量指南迫使我们尝试解决每个警告,因此我想用非弃用的用途替换这些注释。
--add-opens我最近迁移到 Java 17,由于运行应用程序时的一个依赖项,它带来了一些限制,要求我使用。
我需要在java -jar运行命令时添加它。现在我找到了这些解决方案:
java --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/sun.util.calendar=ALL-UNNAMED -jar my.jar
Run Code Online (Sandbox Code Playgroud)
pom.xml<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<manifestEntries>
<Add-Opens>java.base/sun.util.calendar java.base/java.util</Add-Opens>
</manifestEntries>
</archive>
</configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud)
显然,两者都适合生产。然而,当通过 IntelliJ 运行我的应用程序时,它没有选择我认为是正常的选项。我必须将它们设置在我的运行配置中(顺便说一下,它也提交给我的项目)作为虚拟机参数。
我正在寻找一种方法来自动确保一致性,而不必在我声明附加打开的两个地方并行维护。
编辑:我想知道 argfiles 是否可行。就像我的项目中有一个 argfile 一样,它将在 jar 中引用,并且可以在 y 运行配置中引用。我还没有找到太多证据,但这就是我目前正在追求的道路。
编辑2:我addopens在项目的根目录添加了一个文件,现在可以从我需要它的各个点引用它。对于测试,我添加了这个,并且它与 IntelliJ 测试和 Maven 测试一起开箱即用:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<!-- This adds the options contained in the addopens file to the test JVM arguments -->
<argLine>@addopens @{argLine}</argLine>
</configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud)
我还可以将该addopens …
我刚从日食Kepler转移到eclipse Mars,我的Java格式化程序似乎不再以同样的方式运行了.
我曾经能够做到以下几点:
object
.method1()
.method2()
.method3();
Run Code Online (Sandbox Code Playgroud)
格式化程序会保留我的代码.然而,自从我改为eclipse火星后,一切都被包裹在一条线上.
我已经验证了格式化程序,我仍然选中"从不加入已包装的行"选项.我的项目没有使用关于eclipse格式化程序的特定设置.我尝试从头开始重新创建格式化程序,结果是一样的.
我如何强制eclipse不加入这些行呢?
谢谢
在我目前正在rails 4.0.0beta1下开发的项目中,我需要基于用户的身份验证,其中每个用户都可以链接到一个实体.我对铁路有点新手并且遇到了一些麻烦.
该模型如下:
class User < ActiveRecord::Base
end
class Agency < ActiveRecord::Base
end
class Client < ActiveRecord::Base
belongs_to :agency
end
Run Code Online (Sandbox Code Playgroud)
我需要的是用户能够链接到代理商或客户端,但不能同时链接到两者(这两个是我将要调用的实体).它根本没有链接,最多只有一个链接.
我首先要寻找的是如何在rails中进行Mutli-Table继承(MTI).但有些事阻止了我:
所以我寻找另一种解决方案,我发现了多态关联.
我从昨天起就开始使用它并花了一些时间使其工作,即使在Rails多态性has_many的帮助下:通过和ActiveRecord,has_many:through和多态关联
我设法从上面的问题做了例子,但是花了一段时间,我终于遇到了两个问题:
activerecord ruby-on-rails polymorphic-associations multi-table-inheritance
我一直在观看和重现我的应用程序上的这些railscast:196-nested-model-form-part-1和197-neested-model-form-part-2.我还没有专业帐户,所以我无法观看修改后的剧集.
我正在rails4(edge)下开发并且link_to_function已经被弃用而不喜欢不引人注目的JS(这很棒).
我将保留上述railscast的示例(即调查/问题).我想做的是使用问题的部分通过不引人注目的JavaScript,我只是不知道我应该如何以及在哪里做到这一点.
我想到了两种方法:
app/assets/javascripts的文件surveys.js与功能,add_question但我不知道如何从这里使用我的部分.SurveyController使用部分问题作出回应,但我对调查控制器中的问题采取特定行动的事实感到困扰.我不禁认为必须有更好的方法来做到这一点.
我想在rails中做相当于Array.some的操作.
这是一个应用于我的用例的例子,它更复杂include?(我想将其应用于*args):
ary = [:a, :b, :c, d: :x, e: :y] # => [:a, :b, :c, { :d => :x, :e => :y }]
search = :e
contained = ary.some { |x|
x == search || x.try(:key?, search)
} # => true
assert contained, "We should have found #{search}"
Run Code Online (Sandbox Code Playgroud)
我可以这样做,ary.map但这意味着要通过整个数组,然后再次测试它的内容.我也可以使用ary.drop_while并验证它是否返回一个空数组,但是我还需要测试结果.我也看到了,ary.bsearch但是有一些奇怪的限制,我不太了解元素的顺序.
我错过了什么吗?有没有一种简单的方法可以做到这一点?我正在使用ruby2和rails 4(边缘).
这是我已经在spark用户邮件列表上提出的一个问题,我希望在这里取得更大的成功.
我不确定它与火花直接相关,虽然火花与我不能轻易解决这个问题的事实有关.
我正在尝试使用各种模式从S3获取一些文件.我的问题是其中一些模式可能没有返回任何内容,当他们这样做时,我得到以下异常:
org.apache.hadoop.mapred.InvalidInputException: Input Pattern s3n://bucket/mypattern matches 0 files
at org.apache.hadoop.mapred.FileInputFormat.listStatus(FileInputFormat.java:197)
at org.apache.hadoop.mapred.FileInputFormat.getSplits(FileInputFormat.java:208)
at org.apache.spark.rdd.HadoopRDD.getPartitions(HadoopRDD.scala:140)
at org.apache.spark.rdd.RDD$$anonfun$partitions$2.apply(RDD.scala:207)
at org.apache.spark.rdd.RDD$$anonfun$partitions$2.apply(RDD.scala:205)
at scala.Option.getOrElse(Option.scala:120)
at org.apache.spark.rdd.RDD.partitions(RDD.scala:205)
at org.apache.spark.rdd.MappedRDD.getPartitions(MappedRDD.scala:28)
at org.apache.spark.rdd.RDD$$anonfun$partitions$2.apply(RDD.scala:207)
at org.apache.spark.rdd.RDD$$anonfun$partitions$2.apply(RDD.scala:205)
at scala.Option.getOrElse(Option.scala:120)
at org.apache.spark.rdd.RDD.partitions(RDD.scala:205)
at org.apache.spark.rdd.FlatMappedRDD.getPartitions(FlatMappedRDD.scala:30)
at org.apache.spark.rdd.RDD$$anonfun$partitions$2.apply(RDD.scala:207)
at org.apache.spark.rdd.RDD$$anonfun$partitions$2.apply(RDD.scala:205)
at scala.Option.getOrElse(Option.scala:120)
at org.apache.spark.rdd.RDD.partitions(RDD.scala:205)
at org.apache.spark.rdd.UnionRDD$$anonfun$1.apply(UnionRDD.scala:52)
at org.apache.spark.rdd.UnionRDD$$anonfun$1.apply(UnionRDD.scala:52)
at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:244)
at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:244)
at scala.collection.IndexedSeqOptimized$class.foreach(IndexedSeqOptimized.scala:33)
at scala.collection.mutable.WrappedArray.foreach(WrappedArray.scala:34)
at scala.collection.TraversableLike$class.map(TraversableLike.scala:244)
at scala.collection.AbstractTraversable.map(Traversable.scala:105)
at org.apache.spark.rdd.UnionRDD.getPartitions(UnionRDD.scala:52)
at org.apache.spark.rdd.RDD$$anonfun$partitions$2.apply(RDD.scala:207)
at org.apache.spark.rdd.RDD$$anonfun$partitions$2.apply(RDD.scala:205)
at scala.Option.getOrElse(Option.scala:120)
at org.apache.spark.rdd.RDD.partitions(RDD.scala:205)
at org.apache.spark.Partitioner$.defaultPartitioner(Partitioner.scala:58)
at org.apache.spark.api.java.JavaPairRDD.reduceByKey(JavaPairRDD.scala:335)
... 2 …Run Code Online (Sandbox Code Playgroud) 我目前正在寻找最好的方法,因此在n个int中选择x个唯一的int.它会像Random.nextInt(range)多次一样,但它永远不应该选择两次相同的int.如果它发生x > n那么结果将只包含n个int
我试图自己做这个,我目前基于Fisher/Yates shuffle这样做:
private static final Random R = new Random();
public static int[] distinctRandoms(int nb, int max) {
int[] all = new int[max];
for (int i = 0; i < all.length; i++) {
all[i] = i;
}
if (max <= nb) {
return all;
}
int index;
int[] result = new int[nb];
for (int j = 0, k = all.length - 1; k > 0 && j < nb; k--, j++) {
index …Run Code Online (Sandbox Code Playgroud) 我每次运行mvn包时都会尝试自动清理一些麻烦.我在POM中添加了:
<build>
<plugins>
<plugin>
<artifactId>maven-clean-plugin</artifactId>
<version>2.5</version>
<executions>
<execution>
<id>auto-clean</id>
<phase>initialize</phase>
<goals>
<goal>clean</goal>
</goals>
</execution>
</executions>
</plugin>
...
</plugins>
...
</build>
Run Code Online (Sandbox Code Playgroud)
但我从M2Eclipse得到以下错误:
生命周期配置未涵盖插件执行:org.apache.maven.plugins:maven-clean-plugin:2.5:clean(执行:自动清理,阶段:初始化)
我尝试了其他阶段,如"验证"或"生成资源",但我总是得到同样的错误.
当我尝试做的时候
rake db:reset
Run Code Online (Sandbox Code Playgroud)
要么
rake db:drop
rake db:create
rake db:schema:load
rake db:seed
Run Code Online (Sandbox Code Playgroud)
NoMethodError: undefined method 'fields' for nil:NilClass当种子出现时,我随机得到一个.这是一个:
[1m[35m (186.0ms)[0m INSERT INTO "schema_migrations" (version) VALUES ('20130318105449')
[1m[36m (187.0ms)[0m [1mINSERT INTO "schema_migrations" (version) VALUES ('20130319154146')[0m
[1m[35m (189.0ms)[0m INSERT INTO "schema_migrations" (version) VALUES ('20130322132730')
[1m[36m (104.0ms)[0m [1mINSERT INTO "schema_migrations" (version) VALUES ('20130322142814')[0m
NoMethodError: undefined method `fields' for nil:NilClass: SELECT COUNT(*)
FROM pg_class c
LEFT JOIN pg_namespace n ON n.oid = c.relnamespace
WHERE c.relkind in ('v','r')
AND c.relname = 'schema_migrations'
AND n.nspname …Run Code Online (Sandbox Code Playgroud) java ×4
eclipse ×2
maven ×2
activerecord ×1
ajax ×1
amazon-s3 ×1
apache-spark ×1
arrays ×1
deprecated ×1
eclipse-mars ×1
hadoop ×1
hibernate ×1
java-platform-module-system ×1
m2eclipse ×1
nested-forms ×1
package ×1
postgresql ×1
railscasts ×1
rake ×1
random ×1
ruby ×1
seeding ×1