我在公共图书馆中有一个班级,我将其放入#! /usr/bin/env python
import radiusd
import crowd
cs = None
app_url = ''
app_user = ''
app_pass = ''
def instantiate(p):
global cs
cs = crowd.CrowdServer(app_url, app_user, app_pass)
def authorize(p):
reply = None
config = None
result = radiusd.RLM_MODULE_NOTFOUND
values = dict(p)
username = values['User-Name']
success = cs.get_user(username)
if success:
config = ( ( 'Auth-Type', 'crowd' ), )
result = radiusd.RLM_MODULE_OK
return ( result, reply, config )
def authenticate(p):
reply = None
config = None
result = radiusd.RLM_MODULE_REJECT
values = dict(p)
username = values['User-Name']
password = values['User-Password']
success = cs.auth_user(username, password)
if success:
reply = ( ( 'Reply-Message', 'Welcome!'), )
result = radiusd.RLM_MODULE_OK
return ( result, reply, config )
。然后我想在任何具有commons库作为依赖项的项目中重用该类。
但是无法导入文件。
通用自定义库:
/src/test/java
实施项目:
/src/test/java/com/myproject/utils/TestfileReader.java
用法:
<dependencies>
<dependency>
<groupId>com.myproject</groupId>
<artifactId>my-commons</artifactId>
<version>1.0.0</version>
</dependency>
结果:导入无法解决。
但如果我将该文件复制到/src/test/java/com/myproject/itest/SomeTest.java
import com.myproject.utils.TestfileReader;
,则可以正确找到它。所以我的公共图书馆似乎一般都很好。
问题:如何将此文件仅显示在我的测试中,同时将其保存在/src/main/java/...
文件夹中?
答案 0 :(得分:2)
您可以通过指定test-jarscope的类型来完成此操作。
<dependency>
<groupId>com.myproject</groupId>
<artifactId>my-commons</artifactId>
<version>1.0.0</version>
<type>test-jar</type>
<scope>test</scope>
</dependency>
答案 1 :(得分:0)
您可以控制src / test文件夹下的资源是否会发货,例如:通过maven-resource-plugin
点击此处:http://maven.apache.org/plugins/maven-resources-plugin/testResources-mojo.html
此处的示例会将src/test/java
下找到的所有来源复制到您的最终版本中。
<testResources>
<testResource>
<directory>${project.basedir}/src/test/java</directory>
</testResource>
</testResources>
答案 2 :(得分:0)
您可以执行以下操作:
答案 3 :(得分:0)
绝对可以做到。
首先,您需要导航到Build Path-->Configure Build Path--> Source tab
然后在“源”标签search/check [your Project Name]/src/main/java
中进行更改
"contains test sources"
从“否”到“是”并保存。
这将成功解决从“ src / test / java”到“ src / main / java”的导入包的问题