我正在使用.sbt构建定义文件,并且我定义了许多相关的依赖项,它们共享相同的版本号,例如:
libraryDependencies ++= Seq(
"com.typesafe.akka" % "akka-actor" % "2.0.3",
"com.typesafe.akka" % "akka-slf4j" % "2.0.3",
...
"com.typesafe.akka" % "akka-testkit" % "2.0.3" % "test",
...
)
Run Code Online (Sandbox Code Playgroud)
我希望能够在一个地方指定版本号,就像你在Maven中用theitesites元素一样,即你可以在你的pom中指定以下内容:
<propeties>
<io.akka.version>2.0.3</io.akka.version>
</properties>
Run Code Online (Sandbox Code Playgroud)
然后在声明依赖项时引用该属性:
<dependency>
...
<version>${io.akka.version}</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
有人知道SBT中是否有类似的方法?
当outOfOrder设置为true 时,我在日志中收到以下警告消息:
警告:outOfOrder模式处于活动状态.迁移运行可能无法重现.
这条消息的确切含义是什么?如果有人能告诉我迁移发生时会发生什么,那将会很好.任何例子都会有所帮助.
我正在尝试使用Crucible REST API将审阅者添加到我刚创建的评论中(也使用REST).根据Atlassian文档,我应该发布一个POST:
/rest-service/reviews-v1/{id}/reviewers
Run Code Online (Sandbox Code Playgroud)
什么?文档未显示添加审阅者的有效请求.当你点击"展开"它没有显示任何内容时,它只是说"逗号分隔的评论者"似乎不起作用.
我试过了:
user1,user2
{"user1","user2"}
{reviewers:[reviewer:{"userName":"user1"},reviewer:{"userName":"user2"}]}
Run Code Online (Sandbox Code Playgroud)
所有这些导致以下响应:
{"code":"NotFound","message":"The user named '{\"user1\"' is not a Crucible user.","stacktrace":"com.atlassian.crucible.spi.services.NotFoundException: The user named '{\"user1\"' is not a Crucible user.
at com.atlassian.crucible.spi.impl.DefaultReviewService.getUser(DefaultReviewService.java:2011)
at com.atlassian.crucible.spi.impl.DefaultReviewService.access$3500(DefaultReviewService.java:95)
at com.atlassian.crucible.spi.impl.DefaultReviewService$32.doInTransaction(DefaultReviewService.java:1973)
at com.atlassian.crucible.spi.impl.DefaultReviewService$32.doInTransaction(DefaultReviewService.java:1965)
at com.atlassian.fisheye.spi.impl.DefaultTxTemplate.execute(DefaultTxTemplate.java:123)
at sun.reflect.GeneratedMethodAccessor1317.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:309)
...
Run Code Online (Sandbox Code Playgroud)
堆栈跟踪一直持续......
user1并且user2是有效的名称,因为当我对相同的URL执行GET时,我可以在其他评论中看到它们.
有人有主意吗?
谢谢!
Twitter API已从1.0更改为1.1.现在,对于任何类型的查询,都必须进行授权.我正在使用java来获取推文.任何人都可以给我一些使用OAuth身份验证获取推文的java示例.
使用twitter4j api是可能的.http://twitter4j.org/en/.下面给出一个例子
Twitter twitter = new TwitterFactory().getInstance();
AccessToken accessToken = new AccessToken("Your-Access-Token", "Your-Access-Token-Secret");
twitter.setOAuthConsumer("Consumer-Key", "Consumer-Key-Secret");
twitter.setOAuthAccessToken(accessToken);
try {
Query query = new Query("#IPL");
QueryResult result;
result = twitter.search(query);
List<Status> tweets = result.getTweets();
for (Status tweet : tweets) {
System.out.println("@" + tweet.getUser().getScreenName() + " - " + tweet.getText());
}
}
catch (TwitterException te) {
te.printStackTrace();
System.out.println("Failed to search tweets: " + te.getMessage());
System.exit(-1);
}
Run Code Online (Sandbox Code Playgroud)
当我作为Java类运行时,此示例独立工作.但是当我在JSP中添加此代码以便在webapp中进行测试时,它无法正常工作.它向我显示以下异常
SEVERE: Servlet.service() for servlet [jsp] in context with path [/mypub] …Run Code Online (Sandbox Code Playgroud) 我是这个 Twitter4j 库的新手。我正在尝试存储给定的用户的所有关注者 ID userID。我正在使用类似以下内容:
IDs ids;
long cursor = -1;
do{
ids = twitter.getFollowersIDs(userName, cursor);
for (long id : ids.getIDs()) {
// Store this id...
}
while ((cursor = ids.getNextCursor()) != 0);
Run Code Online (Sandbox Code Playgroud)
过了一会儿,我收到错误Rate limit exceeded,没关系。但是,我不知道将来解决我的速率限制问题时如何继续存储给定用户ID的关注者ID?
PS:userID我尝试存储关注者 ID 的 s 拥有超过 300 万关注者。这就是为什么我需要从我离开的地方继续。
我的项目中有五个Web应用程序,并且希望过滤HTTP请求,但是我不想Filter为每个Web应用程序编写一个类,因为没有特定于应用程序的行为。最实用的方法是什么?
我试图Filter在另一个名为的类库中仅创建一个,MyClassLibrary但是它不起作用。Web应用程序可以使用该库中的其他类,因此我认为没有参考问题。
web.xml应用程序之一的过滤器部分是:
<filter>
<filter-name>SampleFilter</filter-name>
<filter-class>MyClassLibrary.Filters.SampleFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>SampleFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
Run Code Online (Sandbox Code Playgroud)
这将导致异常:
java.lang.ClassNotFoundException:MyClassLibrary.Filters.SampleFilter
平台:Windows,NetBeans,GlassFish
我有一个带有两个属性的自定义字段注释类,如下所示:
public @interface Field {
String type();
int order();
}
Run Code Online (Sandbox Code Playgroud)
我想验证order,它不应该是负值并且不应该重复,例如:
class User {
@Field(uiType = "TEXT", order = 1)
private String fName;
@Field(uiType = "TEXT", order = 2)
private String lName;
}
Run Code Online (Sandbox Code Playgroud)
任何人都可以帮我做吗?
我想知道为什么下面的代码不起作用:
Collection <? super String> col = new ArrayList<String>();
col.add(new Object());// does not compile
col.add("yo!");// compiles indeed;
Run Code Online (Sandbox Code Playgroud)
如果类型是<? super String>它可以包含超出String(包括字符串)的任何东西不?
我想显示使用用户时区格式化的存储日期(时区为UTC)(可能因用户而异,并存储在配置文件中).
我提出的解决方案是以下一个,我想知道这是否是最好的方法,或者是否有另一个,可能更简单的解决方案.
时区设置为UTC:
-Duser.timezone=UTC
Run Code Online (Sandbox Code Playgroud)
控制器,Freemarker-Template,HandlerInterceptor:
控制器:
@Controller
@RequestMapping("/test")
public class TestController {
@RequestMapping
public String dateTest(Model model){
final Date date = new Date();
model.addAttribute("formattedDate", new SimpleDateFormat("hh:mm:ss").format(date));
model.addAttribute("date", date);
return "test";
}
}
Run Code Online (Sandbox Code Playgroud)
Freemarker的,模板:
<#setting time_zone="${currentTimeZone}">
UTC Time: ${formattedDate}<br/>
Localized time for timezone <i>${currentTimeZone}</i>: ${date?time}
Run Code Online (Sandbox Code Playgroud)
HandlerInterceptor接口:
public class TimezoneHandlerInterceptor extends HandlerInterceptorAdapter{
@Override
public void postHandle(HttpServletRequest request,
HttpServletResponse response, Object handler,
ModelAndView modelAndView) throws Exception {
//Only for testing, in production something like:
//final String currentUserTimezone = userService.getCurrentUser().getTimezoneId(); …Run Code Online (Sandbox Code Playgroud) 我想向包含记录、IDENTITY 字段且其他表具有外键的 Redshift 表添加一个 NOT NULL 列。
在 PostgreSQL 中,您可以将列添加为 NULL,填充它,然后将其更改为 NOT NULL。
在 Redshift 中,迄今为止我发现的最好的是:
ALTER TABLE my_table ADD COLUMN new_column INTEGER;
-- Fill that column
CREATE TABLE my_table2 (
id INTEGER IDENTITY NOT NULL SORTKEY,
(... all the fields ... )
new_column INTEGER NOT NULL,
PRIMARY KEY(id)
) DISTSTYLE all;
UNLOAD ('select * from my_table')
to 's3://blah' credentials '<aws-auth-args>' ;
COPY my_table2
from 's3://blah' credentials '<aws-auth-args>'
EXPLICIT_IDS;
DROP table my_table;
ALTER TABLE my_table2 RENAME TO my_table;
-- For …Run Code Online (Sandbox Code Playgroud)