小编Man*_*anu的帖子

无法从单元测试加载ApplicationContext:FileNotFound

我正在创建一个Maven Spring项目,其中包括MVC,数据和安全性.我的Spring applicationContext - *.xml文件位于\ src\main\resources\spring \

我的TestCase放在\ src\test\java\my\package\controller \中,其代码为:

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = {
    "classpath:spring/applicationContext.xml",
    "classpath:spring/applicationContext-jpa.xml",
    "classpath:spring/applicationContext-security.xml" })
public class MyControllerTest extends TestCase {
    @Autowired
    private MyController myController;

    @Test
    public void myMethod_test() {
    }
}
Run Code Online (Sandbox Code Playgroud)

当我右键单击测试类并以JUnit运行时,我得到了

java.lang.IllegalStateException: Failed to load ApplicationContext
at org.springframework.test.context.CacheAwareContextLoaderDelegate.loadContext(CacheAwareContextLoaderDelegate.java:99)
at org.springframework.test.context.DefaultTestContext.getApplicationContext(DefaultTestContext.java:101)
at 
[...]
 Caused by: org.springframework.beans.factory.BeanDefinitionStoreException: 
 IOException parsing XML document from class path resource 
 [applicationContext.xml]; nested exception is java.io.FileNotFoundException: 
 class path resource [applicationContext.xml] cannot be opened because it does not exist 
[...]
Run Code Online (Sandbox Code Playgroud)

如果我尝试从位置删除applicationContext.xml,我仍然会得到完全相同的错误.完整的堆栈跟踪是这样的:

java.lang.IllegalStateException: Failed to …
Run Code Online (Sandbox Code Playgroud)

junit spring applicationcontext

31
推荐指数
5
解决办法
20万
查看次数

插入新行时将公式复制到下一行

我有一行,其中有使用相同行的值的公式.下一行是空的,只有不同的背景颜色.

现在,如果我插入一个新行(通过右键单击空行和"插入"),我得到一个没有背景颜色的新行(这是我想要的),但该行也不包含任何公式:在创建新行时,如何使Excel更智能并复制上一行中的公式?

还有一条信息:插入新行时会复制数据验证信息(即下拉列表).

谢谢.

excel

19
推荐指数
1
解决办法
15万
查看次数

Swagger没有使用Spring Boot检测Spring Data Rest API

我设置了Spring Boot项目,包括Spring Data Rest和Swagger:

<dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-rest</artifactId>
</dependency>
<dependency>
        <groupId>io.springfox</groupId>
        <artifactId>springfox-swagger2</artifactId>
        <version>2.4.0</version>
</dependency>
<dependency>
        <groupId>io.springfox</groupId>
        <artifactId>springfox-swagger-ui</artifactId>
        <version>2.4.0</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)

这是我的Swagger配置:

@Configuration
@EnableSwagger2
public class SwaggerConfig {
    @Bean
    public Docket api() {
        return new Docket(DocumentationType.SWAGGER_2)
                .select()
                .apis(RequestHandlerSelectors.any())
                .paths(PathSelectors.any())
                .build();
    }
}
Run Code Online (Sandbox Code Playgroud)

摘自application.properties:

spring.data.rest.base-path=/api
server.context-path=/myapp
Run Code Online (Sandbox Code Playgroud)

当我运行服务器时,所有其他端点都被正确映射并可以访问/myapp/api/...,包括我自己创建的自定义RestController.

然而:

  • http://localhost:8080/myapp/api我可以看到Spring Data Rest API列表(采用Json格式),但无法看到我的自定义RestController端点.

  • http://localhost:8080/myapp/swagger-ui.html我看到一个很好的gui,它只列出我的自定义RestController和错误端点,而不是Spring Data Rest API.实际上,http:// localhost:8080/myapp/v2/api-docs不会对Spring Data Rest端点进行任何引用,而只对我的自定义RestController和错误端点进行引用.

如何修复Spring Data Rest&Swagger配置?

spring swagger spring-data-rest spring-boot

15
推荐指数
2
解决办法
1万
查看次数

GWT编译错误 - IncompatibleClassChangeError

在编译项目时,我得到了这个模糊的异常

Looking for precompiled archives.  To disable, use -Dgwt.usearchives=false
Loading archived module: jar:file:<base>/.m2/repository/com/google/gwt/gwt-user/2.5.0/gwt-user-2.5.0.jar!/com/google/gwt/user/User.gwtar
[WARN] Unable to read: jar:file:<base>/.m2/repository/com/google/gwt/gwt-user/2.5.0/gwt-user-2.5.0.jar!/com/google/gwt/user/User.gwtar. Skipping: java.io.InvalidClassException: com.google.gwt.dev.util.DiskCacheToken; local class incompatible: stream classdesc serialVersionUID = 3824090149180578568, local class serialVersionUID = -2622986784335128516
Loading archived module: jar:file:<base>/.m2/repository/com/google/gwt/gwt-user/2.5.0/gwt-user-2.5.0.jar!/com/google/gwt/core/Core.gwtar
[WARN] Unable to read: jar:file:<base>/.m2/repository/com/google/gwt/gwt-user/2.5.0/gwt-user-2.5.0.jar!/com/google/gwt/core/Core.gwtar. Skipping: java.io.InvalidClassException: com.google.gwt.dev.util.DiskCacheToken; local class incompatible: stream classdesc serialVersionUID = 3824090149180578568, local class serialVersionUID = -2622986784335128516
Loading archived module: jar:file:<base>/.m2/repository/com/google/gwt/gwt-user/2.5.0/gwt-user-2.5.0.jar!/com/google/gwt/regexp/RegExp.gwtar
[WARN] Unable to read: jar:file:<base>/.m2/repository/com/google/gwt/gwt-user/2.5.0/gwt-user-2.5.0.jar!/com/google/gwt/regexp/RegExp.gwtar. Skipping: java.io.InvalidClassException: com.google.gwt.dev.util.DiskCacheToken; local class incompatible: stream classdesc serialVersionUID = 3824090149180578568, local …
Run Code Online (Sandbox Code Playgroud)

gwt

10
推荐指数
2
解决办法
1万
查看次数

具有Django和AngularJS的虚拟主机的Apache2和上下文路径

我有以下工作Django配置:

WSGIScriptAlias / /MyDjangoProjectFolder/MyDjangoProject/wsgi.py
WSGIPythonPath /MyDjangoProjectFolder

<Directory /MyDjangoProjectFolder/MyDjangoProject>
   <Files wsgi.py>
        Order deny,allow
       Require all granted
   </Files>
</Directory>

Alias /base_context_path/static/ /MyDjangoProjectFolder/static/

<Directory /MyDjangoProjectFolder/static>
    Require all granted
</Directory>
Run Code Online (Sandbox Code Playgroud)

Django响应<ip>/base_context_path/rest(对于前端调用的其他API)和<ip>/base_context_path/admin(对于使用base_context_path/static的管理).因此,Django所需的一切都在开启<ip>/base_context_path/*.

现在我需要在同一个Apache2上部署一个在Angular上开发的网站,所以我试图了解如何使它工作.我有这个网站的域名(mydomainname.org),但不是django应用程序的专用域名.访问我的域名时,我希望我的网站能够出现.

这是我对我的网站的尝试:

<VirtualHost *:80>
    ServerName mydomainname.org
    DocumentRoot /MyWebSiteFolder
    DirectoryIndex index.html
 <Directory "/MyWebSiteFolder">
# redirect rules for managing AngularJS
  </Directory>
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

它不起作用(403).

对于我的Django应用程序,这是我创建的虚拟主机,它不起作用(403):

<VirtualHost *:80>
ServerName mydomainname
Alias /base_context_path/static/ /MyDjangoProjectFolder/static

WSGIScriptAlias / /MyDjangoProjectFolder/MyDjangoProject/wsgi.py

WSGIDaemonProcess MyDjangoProject python-path=/MyDjangoProjectFolder:/usr/local/lib/python2.7/site-packages
WSGIProcessGroup MyDjangoProject


<Directory /MyDjangoProjectFolder/static>
        Options -Indexes
    Require all granted
</Directory>
Run Code Online (Sandbox Code Playgroud)

所以我有点卡住了.

python apache django virtualhost

9
推荐指数
1
解决办法
603
查看次数

Realm ORM:如何处理地图?

我正在创建一个Android应用程序,我需要坚持一个Map<String,MyClass>.我刚刚开始使用Realm ORM,因为它支持一对一和一对多的枚举和列表.我还找到了一个字符串列表的解决方法(即我必须创建一个封装字符串的StringWrapper类.但是,从我理解的文档中,没有简单的方法RealmMap,就像列表中发生的那样.所以,我正在寻找坚持地图的最佳方法.我目前的想法是用一个KeyValueObject封装了String(前一个地图键)和一个对象的对象列表替换我的地图MyClass.类似于Map.Entry.是否有任何其他解决方案不需要我重新编写域模型技术原因?

java android realm

8
推荐指数
1
解决办法
6778
查看次数

Spring Data:枚举和存储库问题

我正在使用Spring Data和Repositories.我创建了一个带有枚举类型字段的实体,我声明了@Enumerated(EnumType.STRING),但我不得不创建一个方法getAuthority返回一个String.

@Entity
@Configurable
public class BaseAuthority implements GrantedAuthority {

    @Enumerated(EnumType.STRING)
    @Column(unique = true)
    private AuthorityType authority;

    @Override
    public String getAuthority() {
        return authority.toString();
    }

}
Run Code Online (Sandbox Code Playgroud)

枚举如下:

public enum AuthorityType {
REGISTEREDUSER, ADMINISTRATOR;
}
Run Code Online (Sandbox Code Playgroud)

在实体的存储库中,我创建了一个按权限类型查找的操作:

@Repository
public interface BaseAuthorityRepository extends JpaRepository<BaseAuthority, Long> {

    BaseAuthority findByAuthority(AuthorityType authority);

}
Run Code Online (Sandbox Code Playgroud)

但是,我收到警告:

Parameter type (AuthorityType) does not match domain class 
property definition (String). BaseAuthorityRepository.java
Run Code Online (Sandbox Code Playgroud)

我曾经让操作接收String而不是AuthorityType,但是会生成运行时异常.我可以将字段权限的名称更改为authorityType,但我不喜欢这样.

难道我做错了什么?如何删除警告?

enums spring spring-data

7
推荐指数
1
解决办法
2万
查看次数

Spring REST返回PDF - 响应状态406(不可接受)

关于这类问题,我读了很多关于SO的问题,但是他们都建议使用正确的Jackson版本.这是我目前的情况:

REST API:

@RequestMapping(value = "get/pdf/{id}", headers="Accept=*/*", method = RequestMethod.GET, produces = "application/pdf")
    @Override
    public ResponseEntity<InputStream> getPdfContractById(@PathVariable("id") Long id);
Run Code Online (Sandbox Code Playgroud)

使用时Accept:*/*在映射请求时产生错误(404发生)

从我的pom:

    <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-core</artifactId>
        <version>2.4.1</version>
    </dependency>
    <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-databind</artifactId>
        <version>2.4.1.1</version>
    </dependency>
Run Code Online (Sandbox Code Playgroud)

我也尝试添加这两个依赖项,但没有任何变化:

    <dependency>
        <groupId>org.codehaus.jackson</groupId>
        <artifactId>jackson-core-asl</artifactId>
        <version>1.9.13</version>
    </dependency>
    <dependency>
        <groupId>org.codehaus.jackson</groupId>
        <artifactId>jackson-mapper-asl</artifactId>
        <version>1.9.13</version>
    </dependency>
Run Code Online (Sandbox Code Playgroud)

响应客户端:There was an unexpected error (type=Not Acceptable, status=406).标题包括:

    Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Encoding:gzip, deflate, sdch
Run Code Online (Sandbox Code Playgroud)

它出什么问题了?


更多细节

我使用此代码返回远程PDF文件:

    URL url = null;
    try {
        url = new URL(urlStr);
    } catch (MalformedURLException e) {
        e.printStackTrace();
        throw new MyException(e.getMessage()); …
Run Code Online (Sandbox Code Playgroud)

java rest spring jackson maven

7
推荐指数
1
解决办法
9500
查看次数

通过Spring数据进行数据库备份

我需要使用Spring为我的Web应用程序安排定期数据库备份.Spring Data是否为backupping提供任何特定支持?我打算使用TaskScheduler和TaskExecutor.

spring spring-data

5
推荐指数
1
解决办法
3662
查看次数

JQuery 数据表:使列宽适合内容

我正在即时构建一个 DataTable,所以我不知道列的内容。我想获得一个表格,每个列宽都适合其内容宽度。我试图操纵“autoWidth”,但它根据列数和表格宽度调整列的大小,但所有列的宽度都相同。如何让每一列根据自己的内容调整其宽度?

jquery datatables

5
推荐指数
1
解决办法
2万
查看次数