掲示板

Unresolved requirement: import-package sun.security.util

6年前 に Daniel Fernandez によって更新されました。

Unresolved requirement: import-package sun.security.util

Junior Member 投稿: 29 参加年月日: 17/03/29 最新の投稿
Hola a todos,

Me estoy encontrando con este error al crear un portlet muy sencillo de envío de Emails en Liferay 7, me he encontrado con este error al incluir el portlet en mi portal de Liferay y al iniciarlo me pide esta dependencia que no se donde encontrar.

Aqui os dejo mi estructura, gracias por adelantado

En mi build.gradle:
dependencies {
	compileOnly group: "com.liferay.portal", name: "com.liferay.portal.kernel", version: "2.0.0"
	compileOnly group: "com.liferay.portal", name: "com.liferay.util.taglib", version: "2.0.0"
	compileOnly group: "javax.portlet", name: "portlet-api", version: "2.0"
	compileOnly group: "javax.servlet", name: "javax.servlet-api", version: "3.0.1"
	compileOnly group: "jstl", name: "jstl", version: "1.2"
	compileOnly group: "org.osgi", name: "osgi.cmpn", version: "6.0.0"
	compile group: 'javax.mail', name: 'mail', version: '1.4.7'
}

En mi bnd.bnd:
Bundle-Name: PruebaEmail
Bundle-SymbolicName: PruebaEmail
Bundle-Version: 1.0.0
-includeresource: @mail-[0-9]*.jar


En mi portlet:

package PruebaEmail.portlet;

import com.liferay.mail.kernel.model.MailMessage;
import com.liferay.mail.kernel.service.MailServiceUtil;
import com.liferay.portal.kernel.portlet.bridges.mvc.MVCPortlet;
import java.io.UnsupportedEncodingException;

import javax.mail.internet.InternetAddress;
import javax.portlet.Portlet;
import javax.portlet.RenderRequest;
import javax.portlet.RenderResponse;

import org.osgi.service.component.annotations.Component;

/**
 * @author dafernandez
 */
@Component(
	immediate = true,
	property = {
		"com.liferay.portlet.display-category=category.sample",
		"com.liferay.portlet.instanceable=true",
		"javax.portlet.display-name=PruebaEmail Portlet",
		"javax.portlet.init-param.template-path=/",
		"javax.portlet.init-param.view-template=/view.jsp",
		"javax.portlet.resource-bundle=content.Language",
		"javax.portlet.security-role-ref=power-user,user"
	},
	service = Portlet.class
)
public class PruebaEmailPortlet extends MVCPortlet {
	
	@Override
	public void render(RenderRequest renderRequest,RenderResponse renderResponse)  {
		String emailBody = "This is the email text";
		String emailSubject = "This is the subject";
		try {
			InternetAddress from = new InternetAddress("miemail@gmail.com","Daniel Fernandez");
			InternetAddress to = new InternetAddress("otroEmail@gmail.com","Danivid Fernandez");
			MailMessage message = new MailMessage(); 
			message.setFrom(from);
			message.setTo(to);
			message.setSubject(emailSubject);
			message.setBody(emailBody);
			MailServiceUtil.sendEmail(message);
		} catch (UnsupportedEncodingException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
	}
}
6年前 に Daniel Fernandez によって更新されました。

RE: Unresolved requirement: import-package sun.security.util (回答)

Junior Member 投稿: 29 参加年月日: 17/03/29 最新の投稿
He resuelto mi propio problema, ha sido sencillo, en el bnd.bnd no es necesario incluir los recursos de la libreria.
Deberemos eliminarlo y además usar la misma versión de la libreria en todo nuestro modulo, si no creara conflicto.