我在部署应用程序时遇到此错误
java.lang.NoSuchMethodError: org.slf4j.spi.LocationAwareLogger.log(Lorg/slf4j/Ma
rker;Ljava/lang/String;ILjava/lang/String;Ljava/lang/Throwable;)V
at org.apache.commons.logging.impl.SLF4JLocationAwareLog.info(SLF4JLocat
ionAwareLog.java:141)
at org.springframework.web.context.ContextLoader.initWebApplicationConte
xt(ContextLoader.java:272)
Run Code Online (Sandbox Code Playgroud)
我正在使用maven而这是我的pom.xml
<properties>
<!-- Using this GWT version -->
<gwt.version>2.4.0</gwt.version>
<!-- Using this Jackrabbit version -->
<jcr.version>1.6.5</jcr.version>
<!-- Using this Spring version -->
<spring.version>3.1.0.RELEASE</spring.version>
<spring.security.version>3.1.0.RELEASE</spring.security.version>
<!-- Apache CXF -->
<cxf.version>2.5.1</cxf.version>
<!-- Apache POI -->
<poi.version>3.8</poi.version>
<!-- Milton WebDAV -->
<milton.version>1.8.1.3</milton.version>
<!-- Tell the compiler we can use 1.6 -->
<java.compiler>1.6</java.compiler>
<!-- Default source encoding ${default.encoding} -->
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<repositories>
<!-- Needed for org.jbpm & org.hibernate-->
<repository>
<id>jboss.org</id>
<name>JBoss Maven Repository</name>
<url>http://repository.jboss.org/nexus/content/groups/public</url> …Run Code Online (Sandbox Code Playgroud) 我正在使用Retrofit 2制作一个Android应用程序.我的REST Api都是用Liferay编写的.现在在Liferay中,我所看到的是,访问我们需要首先进行身份验证的Web服务.所以我已经这样认证了
http://test:q1w2e3r4@192.168.0.110:8080/liferay-portlet/api/secure/jsonws/
Run Code Online (Sandbox Code Playgroud)
Liferay有自己的用户身份验证方法,我们已经覆盖了.我检查了Postman的Web服务调用工作正常.
URL:http://test:q1w2e3r4@192.168.0.110:8080/liferay-portlet/api/secure/jsonws/customuserauthentication/authenticate-by-user-name
Run Code Online (Sandbox Code Playgroud)
形式编码的值
companyId:10154
screenName:xyz
password:xyz
active:true
Run Code Online (Sandbox Code Playgroud)
如果我把它放在邮递员中,它会正确地获取json响应.
现在,当我从我的Android代码中调用相同的内容时,我得到一个响应"未经授权".
我的改造服务
public interface LoginApi {
@FormUrlEncoded
@POST("/liferay-portlet/api/secure/jsonws/customuserauthentication/authenticate-by-user-name")
Call<User> login(@Field("companyId")long companyId,@Field("screenName")String screenName,@Field("password")String password,@Field("active")boolean active);
}
Run Code Online (Sandbox Code Playgroud)
我的RestApiManager类(此类用于调用服务接口并创建改造构建器)
public class RestApiManager {
private LoginApi loginApi;
public LoginApi login() {
if (loginApi==null) {
GsonBuilder gson=new GsonBuilder();
gson.registerTypeAdapter(String.class, new StringDeserializer());
Retrofit retrofit=new Retrofit.Builder()
.baseUrl("http://test:q1w2e3r4@192.168.0.110:8080")
.addConverterFactory(GsonConverterFactory.create())
.build();
loginApi=retrofit.create(LoginApi.class);
}
return loginApi;
}
Run Code Online (Sandbox Code Playgroud)
调用RestApiManager
Call<User> callUser=restApiManager.login().login(loginData.getCompanyId(),loginData.getScreenName(),loginData.getPassword(),loginData.isActive());
callUser.enqueue(new Callback<User>() {
@Override
public void onResponse(Response<User> response, Retrofit retrofit) {
Log.d("Login","Login Response:"+response.body());
}
@Override
public …Run Code Online (Sandbox Code Playgroud) 我有一系列颜色可以填充饼图作为游戏微调器.我不希望相同的颜色彼此相邻,在圆圈中形成一个巨大的块.
我的数组看起来像这样:
var colors = ["blue", "red", "green", "red", "blue", "blue", "blue", "green"]
Run Code Online (Sandbox Code Playgroud)
问题当然是有三个蓝调在一起.Swift中是否有任何内容可以让我在总分布中平均(或尽可能接近)扩散值并避免它们相邻?
我可以使用以下代码测试匹配,但重新排列它们会证明有点困难.
var lastColor = "white"
for color in colors {
if color == lastColor {
print("match")
}
lastColor = color
}
Run Code Online (Sandbox Code Playgroud)
更新:
为了制作我的colors数组,我从每种颜色的空格数开始.它看起来像这样:
let numberOfReds = 2
let numberOfGreens = 2
let numberOfBlues = 4
let spaces = numberOfReds + numberOfGreens + numberOfBlues
for _ in 0..< spaces {
if numberOfReds > 0 {
numberOfReds -= 1
colors.append("red")
}
if numberOfGreens > 0 { …Run Code Online (Sandbox Code Playgroud) 我正在使用hibernate 4和joda时间和spring数据jpa.Spring数据提供注释
@CreadedOn
@LastModifiedOn
Run Code Online (Sandbox Code Playgroud)
我试图使用这两个注释.Below是我的pojo的快照
@Entity
@Table(name="restaurant")
@Audited
public class Restaurant {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private long id;
private String restaurantName;
@CreatedDate
@Type(type = "org.jadira.usertype.dateandtime.joda.PersistentDateTime")
// @Type(type = "org.jadira.usertype.dateandtime.threetenbp.PersistentDateTime")
private DateTime createdOn;
@LastModifiedDate
@Type(type = "org.jadira.usertype.dateandtime.joda.PersistentDateTime")
// @Type(type = "org.jadira.usertype.dateandtime.threetenbp.PersistentDateTime")
private DateTime modifiedOn;
}
Run Code Online (Sandbox Code Playgroud)
根据提供的用户类型jodatime的说明,我已经注释了我的属性.@Type但仍然没有运气.每次我使用@Type注释并部署它我的服务器上出现错误
严重:错误listenerStart
完整堆栈跟踪如下
Jan 15, 2014 11:40:00 AM org.apache.catalina.startup.HostConfig deployWAR
INFO: Deploying web application archive G:\apache-tomcat-7.0.47\webapps\base-spr
ing-data-jpa.war
Jan 15, 2014 11:40:00 AM org.apache.catalina.loader.WebappClassLoader validateJa
rFile
INFO: validateJarFile(G:\apache-tomcat-7.0.47\webapps\base-spring-data-jpa\WEB-I
NF\lib\javax.servlet-api-3.1.0.jar) - …Run Code Online (Sandbox Code Playgroud) 我在我的应用中加入了Google分析.但是当我创建Tracker跟踪器的对象时不起作用
我的一项活动中的代码
@Override
protected void onStart() {
// TODO Auto-generated method stub
super.onStart();
try{
tracker=((GoogleAnalyticsConfig)this.getApplication()).getTracker(GoogleAnalyticsConfig.TrackerName.APP_TRACKER);
tracker.setScreenName("HomeActivity");
tracker.send(new HitBuilders.AppViewBuilder().build());
}catch(Exception ex)
{
ex.printStackTrace();
}
}
Run Code Online (Sandbox Code Playgroud)
现在使用此代码,我在实时跟踪中看不到该应用程序,但如果我用此更改上述代码
@Override
protected void onStart() {
// TODO Auto-generated method stub
super.onStart();
try{
GoogleAnalytics analytics = GoogleAnalytics.getInstance(this);
analytics.reportActivityStart(this);
}catch(Exception ex)
{
ex.printStackTrace();
}
}
Run Code Online (Sandbox Code Playgroud)
我可以看到一个用户在Realtime中处于活动状态
代码 GoogleAnalyticsConfig
public enum TrackerName {
APP_TRACKER, // Tracker used only in this app.
GLOBAL_TRACKER, // Tracker used by all the apps from a company. eg: roll-up tracking.
} …Run Code Online (Sandbox Code Playgroud)