我在tomcat上运行web应用程序时遇到堆栈跟踪错误,无法找到此异常的根本原因.
Run Code Online (Sandbox Code Playgroud)Eclipse 32 bit Luna Release (4.4.0) Tomcat 32 bit 8.0.30 jdk1.8.0_66
Jan 01, 2016 10:02:16 AM org.apache.catalina.session.StandardManager startInternal
SEVERE: Exception loading sessions from persistent storage
java.lang.ClassCastException: java.io.ObjectStreamClass cannot be cast to java.lang.String
at java.io.ObjectInputStream.readTypeString(ObjectInputStream.java:1419)
at java.io.ObjectStreamClass.readNonProxy(ObjectStreamClass.java:719)
at java.io.ObjectInputStream.readClassDescriptor(ObjectInputStream.java:831)
at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1602)
at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1518)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1774)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1351)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:371)
at org.apache.catalina.session.StandardSession.doReadObject(StandardSession.java:1627)
at org.apache.catalina.session.StandardSession.readObjectData(StandardSession.java:1090)
at org.apache.catalina.session.StandardManager.doLoad(StandardManager.java:261)
at org.apache.catalina.session.StandardManager.load(StandardManager.java:180)
at org.apache.catalina.session.StandardManager.startInternal(StandardManager.java:460)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5272)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1408)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1398)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Jan 01, 2016 …
Run Code Online (Sandbox Code Playgroud) 我收到SonarQube错误:" 强烈建议在此方法实现结束时调用super.finalize()
,以防父实现必须也处置一些系统资源. "
但我发现Object
该类没有实现finalize方法.
protected void finalize() throws Throwable { }
Run Code Online (Sandbox Code Playgroud)
那为什么需要打电话super.finalize()
?
我正在将我的项目从 dropwizard 转移到 mirconuat,并且在使用 Web 服务响应时遇到异常。我尝试升级杰克逊版本,但失败并出现警告和以下原因。
Caused by: com.fasterxml.jackson.databind.exc.InvalidDefinitionException: Cannot construct instance of `java.time.OffsetDateTime` (no Creators, like default constructor, exist): no String-argument constructor/factory method to deserialize from String value ('2020-06-25T05:56:44.044423+08:00')
at [Source: (org.glassfish.jersey.message.internal.ReaderInterceptorExecutor$UnCloseableInputStream); line: 1, column: 206] (through reference chain: com.Port["_ModifiedAt"])
at com.fasterxml.jackson.databind.exc.InvalidDefinitionException.from(InvalidDefinitionException.java:67)
at com.fasterxml.jackson.databind.DeserializationContext.reportBadDefinition(DeserializationContext.java:1615)
at com.fasterxml.jackson.databind.DatabindContext.reportBadDefinition(DatabindContext.java:400)
at com.fasterxml.jackson.databind.DeserializationContext.handleMissingInstantiator(DeserializationContext.java:1077)
at com.fasterxml.jackson.databind.deser.ValueInstantiator._createFromStringFallbacks(ValueInstantiator.java:371)
at com.fasterxml.jackson.databind.deser.std.StdValueInstantiator.createFromString(StdValueInstantiator.java:323)
at com.fasterxml.jackson.databind.deser.BeanDeserializerBase.deserializeFromString(BeanDeserializerBase.java:1408)
at com.fasterxml.jackson.databind.deser.BeanDeserializer._deserializeOther(BeanDeserializer.java:176)
at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:166)
at com.fasterxml.jackson.databind.deser.impl.MethodProperty.deserializeAndSet(MethodProperty.java:129)
at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:371)
at com.fasterxml.jackson.databind.deser.BeanDeserializerBase.deserializeWithObjectId(BeanDeserializerBase.java:1288)
at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:162)
at com.fasterxml.jackson.databind.ObjectReader._bind(ObjectReader.java:2020)
at com.fasterxml.jackson.databind.ObjectReader.readValue(ObjectReader.java:1179)
at com.fasterxml.jackson.jaxrs.base.ProviderBase.readFrom(ProviderBase.java:810)
at org.glassfish.jersey.message.internal.ReaderInterceptorExecutor$TerminalReaderInterceptor.invokeReadFrom(ReaderInterceptorExecutor.java:256)
at org.glassfish.jersey.message.internal.ReaderInterceptorExecutor$TerminalReaderInterceptor.aroundReadFrom(ReaderInterceptorExecutor.java:235)
at org.glassfish.jersey.message.internal.ReaderInterceptorExecutor.proceed(ReaderInterceptorExecutor.java:155)
at …
Run Code Online (Sandbox Code Playgroud) 我的数据库表中有一些错误数据。我要全部更换&
或&
或&amp
或&amp
到&
而已。
在java中它工作正常。在SQL中怎么做?
爪哇:
String[] names = new String[] { "Ravi Suthar",
"Ravi & Suthar",
"Ravi & Suthar",
"Ravi & Suthar",
"Ravi & Suthar" };
for (String name : names) {
System.out.println(name.replaceAll("&[amp;]*", "&"));
}
Run Code Online (Sandbox Code Playgroud)
查询语句:
UPDATE tablename SET columnname=REPLACE(columnname,'&[amp;]*','&');
Run Code Online (Sandbox Code Playgroud) class User{
private int id;
private String name;
public User(int id, String name) {
this.id = id;
this.name = name;
}
}
class Service<T> {
private List<T> data;
public void setData(List<T> data) {
this.data = data;
}
}
public class ServiceTest {
public static void main(String[] args) {
Service<User> result=new Service<User>();
result.setData(Collections.emptyList()); // problem is here
}
}
Run Code Online (Sandbox Code Playgroud)
如何使用类型参数传递空列表?
编译器给我错误信息:
参数类型中的方法setData(List <User>)不适用于参数(List <Object>)
如果我尝试使用List进行转换,那么错误:
无法从List <Object>强制转换为List <User>
result.setData(new ArrayList<User>());
工作正常,但我不想通过它.
假设我有一个 oracle 查询
SELECT *
FROM EMPLOYEE
WHERE DEPARTMENT = ?
AND DESIGNATION = ?
AND DISTRICT = ?
AND CIRCLE = ?
Run Code Online (Sandbox Code Playgroud)
并且很可能参数 (?) 的任何 1 或 2 或 3 可以为空或 null。
那么我该怎么做才能让where子句中的空参数完全“忽略”,只搜索表中的非空参数。
我怎样才能做到这一点
请帮忙.. 查询必须兼容oracle 10g。谢谢
我正在使用apache poi 3.11,来自CellReference,我可以使用以下代码获取rowIndex和Column Index.
CellReference cr = new CellReference("A1");
row = mySheet.getRow(cr.getRow());
cell = row.getCell(cr.getCol());
Run Code Online (Sandbox Code Playgroud)
但我的rowIndex和columnIndex是动态生成的,如何使用rowIndex和columnIndex获取CellReference?
XSSFRow row = mySheet.getRow(rowIndex);
XSSFCell cell = row.getCell(columnIndex);
Run Code Online (Sandbox Code Playgroud) 无法将json字符串映射到java对象,得到错误JSON解析错误:无法构造com.test.CPInput的实例$ Evc $ Uni
错误:
{
"timestamp": 1502270576300,
"status": 400,
"error": "Bad Request",
"exception": "org.springframework.http.converter.HttpMessageNotReadableException",
"message": "**JSON parse error: Can not construct instance of com.test.CPInput$Evc$Uni: can only instantiate non-static inner class by using default, no-argument constructor; nested exception is com.fasterxml.jackson.databind.JsonMappingException: Can not construct instance of com.test.CPInput$Evc$Uni: can only instantiate non-static inner class by using default, no-argument constructor at [Source: java.io.PushbackInputStream@edc246; line: 20, column: 9] (through reference chain: com.test.CPInput["evc"]->com.test.CPInput$Evc["uni"]->java.util.ArrayList[0]**)",
"path": "/demo/addCustomer"
}
Run Code Online (Sandbox Code Playgroud)
JSON
{
"customerId": "abcdef",
"customerSegment": {
"customerType": "customer type", …
Run Code Online (Sandbox Code Playgroud) 我在tomcat-8上运行应用程序时遇到以下错误.我使用Eclipse Luna-32位,tomcat-8 32位,Java-8 32位.
INFO: Starting Servlet Engine: Apache Tomcat/8.0.18
Dec 24, 2015 6:36:59 PM org.apache.catalina.startup.HostConfig deployDescriptor
INFO: Deploying configuration descriptor E:\PROJECTS\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\conf\Catalina\localhost\connect_afs_ui.xml
Dec 24, 2015 6:36:59 PM org.apache.catalina.startup.SetContextPropertiesRule begin
WARNING: [SetContextPropertiesRule]{Context} Setting property 'source' to 'org.eclipse.jst.jee.server:connect_afs_ui' did not find a matching property.
Dec 24, 2015 6:36:59 PM org.apache.catalina.core.ContainerBase addChildInternal
SEVERE: ContainerBase.addChild: start:
org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/connect_afs_ui]]
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:725)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:701)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:714)
at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:581)
at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1683)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745) …
Run Code Online (Sandbox Code Playgroud) 我有一个 select 语句两次调用相同的函数以返回两个不同的列,由于同一个函数被调用两次,因此产生了性能问题。
我只想调用一次函数并将其值复制到另一列。在oracle中可能吗?
SELECT ID
,PKGRESTFUNCTION.getBlock(table.ID, table.TYPE) "BLOCK"
,PKGRESTFUNCTION.getBlock(table.ID, table.TYPE) "MASK"
from table
where ID=condition;
Run Code Online (Sandbox Code Playgroud) 我无法使用cxf-xjc-plugin将响应xml映射到xsd生成的java.
的pom.xml
<build>
<plugins>
<plugin>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-xjc-plugin</artifactId>
<version>2.3.0</version>
<configuration>
<extensions>
<extension>org.apache.cxf.xjcplugins:cxf-xjc-dv:2.3.0</extension>
</extensions>
</configuration>
<executions>
<execution>
<id>generate-sources-trans</id>
<phase>generate-sources</phase>
<goals>
<goal>xsdtojava</goal>
</goals>
<configuration>
<sourceRoot>${basedir}/src/main/java</sourceRoot>
<xsdOptions>
<xsdOption>
<xsd>src/main/resources/Response.xsd</xsd>
<packagename>com.test.response</packagename>
<extensionArgs>
<extensionArg>-Xdv</extensionArg>
</extensionArgs>
</xsdOption>
</xsdOption>
</xsdOptions>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
Run Code Online (Sandbox Code Playgroud)
Response.xsd
<?xml version="1.0" encoding="UTF-8"?>
<schema targetNamespace="urn:automatedIDgenerationResponse" xmlns:tns="urn:automatedIDgenerationResponse" xmlns="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<!-- definition of simple elements -->
<complexType name="generatedIDs">
<sequence>
<element name="idType" type="string"/>
<element name="id" type="string"/>
</sequence>
</complexType>
<element name="automatedIDgenerationResponse" type="tns:automatedIDResponse"/>
<complexType name="automatedIDResponse">
<sequence>
<element name="requestID" type="string" nillable="false"/>
<element name="status" type="string" nillable="false"/>
<element name="errorCode" …
Run Code Online (Sandbox Code Playgroud) 在获取请求中使用多个参数调用请求时出现以下错误: http://localhost:8080/find/1/empid/146220
白标错误页面
此应用程序没有明确的 /error 映射,因此您将其视为后备。
Tue Aug 01 19:33:35 IST 2017 出现意外错误(类型 = 内部服务器错误,状态 = 500)。参数绑定的名称不能为 null 或为空!在 JDK < 8 上,您需要使用 @Param 来命名参数,在 JDK 8 或更高版本上,请务必使用 -parameters 进行编译。嵌套异常是 java.lang.IllegalArgumentException:参数绑定的名称不能为 null 或为空!在 JDK < 8 上,您需要使用 @Param 作为命名参数,在 JDK 8 或更高版本上,请务必使用 -parameters 进行编译。
演示.java
@Entity
public class Demo {
@Id
private Long id;
private String name;
private String value;
//getter -setter
}
Run Code Online (Sandbox Code Playgroud)
演示应用程序.java
@SpringBootApplication
@RestController
public class DemoApplication {
@Autowired
private DemoRepository repository;
@RequestMapping(method=RequestMethod.GET, value="/find/{id}/{name}/{value}")
public Demo find(@PathVariable Long …
Run Code Online (Sandbox Code Playgroud) java ×8
oracle ×2
spring-boot ×2
sql ×2
apache-poi ×1
collections ×1
exception ×1
fasterxml ×1
function ×1
generics ×1
jackson ×1
java-11 ×1
jax-rs ×1
json ×1
list ×1
pom.xml ×1
post ×1
regex ×1
select ×1
sonarqube ×1
spring-data ×1
sql-server ×1
sql-update ×1
tomcat ×1
tomcat8 ×1
xml ×1
xsd ×1